- Labornetzteil AliExpress         
Ergebnis 1 bis 5 von 5

Thema: Zu dusslig fürn 10-Zeiler in Bascom

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    17.08.2005
    Beiträge
    8

    Zu dusslig fürn 10-Zeiler in Bascom

    Anzeige

    Praxistest und DIY Projekte
    Ich möchte gerne mit einem 89c2051 und Bascom einen Bitstream an P3.4 auswerten.
    Wahrscheinlich bin ich zu dusslig fürn simplen Basic 10-Zeiler.

    Warum zählt der Alias für den Input "RX" in diesem Beispiel wie Variable "Sign"?
    Kann mir das mal bitte jemand erklären?

    Code:
    Rx Alias P3.4
    Dim Sign As Byte , I As Byte
    
    New_sign:
    Waitms 22                                                     'Skip Starting bit
    Waitms 7                                                      'Offset to somewhere middle of Signal
    Sign = 0
    
    For I = 1 To 5                                                'Read Signal every 22ms, 5bit long
      Shift Sign , Left , 1                                       'Make room for bit-value
      If Rx = 1 Then                                              'Signal state
         Sign = Sign + 1                                          'Set bit-value
      End If
      Waitms 22
    Next I
    
    If Sign = 31 Then                                             'all bits HIGH
         Goto New_sign                                            'nothing happened - do it again
       Else
         Print Sign                                               'Print value of bitstream
         Goto New_sign                                            'do it again
    End If
    
    End

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Mir scheint, er versteht den alias nicht. Probier erstmal

    If P3.4 = 1 then ........

    ob das geht oder nicht.
    Elegante "alias" kannst du nacher immer noch schreiben
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    17.08.2005
    Beiträge
    8
    Danke für den schnellen Tip.
    Geht, aber im Simulator shiftet er jetzt P3.4.
    Alias ging vorher auch, weil das Signal richtig eingelesen wird.

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Jetzt seh ich erst: du mußt ja schreiben
    Sign = Sign OR 1 'Set bit-value
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    17.08.2005
    Beiträge
    8
    War leider auch nix.
    Aber beim Ausprobieren deines Tips eben:
    Dimensioniere ich die geshiftete Variable "sign" als Integer, dann gehts plötzlich. Nur noch die Variable reagiert auf shift.

    Das verstehe ich zwar nicht und habs auch nur in einem Anflug von geistiger Umnachtung ausprobiert.
    Kann ich die paar Bits opfern für die Variable? Muss ich mir noch überlegen...

    Danke trotzdem vielmals für die Mühe.
    Grüße
    Hans

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests