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
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
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.
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.
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.
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
Lesezeichen