Programmcode zum umwandeln von Bitsignalen

Gast #794810
Lesenswert?
• ▲
▼
Guten Abend,

Der folgende Code soll dazu dienen, Bitsignale in einen Maschinencode 
umzuwandeln. Er ist in der Programmiersprache Bascom geschrieben Ich 
habe ihn aus einem Beispiel entnommen und möchte den Code gerne 
verstehen.
1
Sub Empfangen(byval Num As Byte)
2
While Isit < 255
3
Isit = Waitkey()
4
Wend
5
Num=Num+1
6
For F=1 To Num
7
Isit = Waitkey()
8
Ar(f) = Isit
9
Next
10
End Sub

Die Variable Ar(f) soll am Ende den Maschinencode ergeben. Ich weiß aber 
nicht, wie die Anweisung "Isit < 255" zustandekommt. Kann jemand damit 
was anfangen?
Gast #794826
Lesenswert?
• ▲
▼
Isit ist eine temporäre Variable, in der der Rückgabewert von Waitkey 
gespeichert wird. Dadurch kann man den Wert vergleichen, ohne ein 
weiteres Mal die Waitkey-Funktion aufzurufen.

Der Autor hat imho vergessen, Isit vor dem ersten Test zu 
initialisieren. Oder macht Basic das automatisch?
Gast #794836
Lesenswert?
• ▲
▼
Die Variable "Isit" wurde weiter oben initialisiert. Der Datentyp lautet 
Byte. Die Funktion Waitkey() scheint in einer Bibliothek von Bascom 
enthalten zu sein. Was macht die Funktion eingentlich, oder könnte sie 
machen?

Basti
Gast #794966
Lesenswert?
• ▲
▼
Hi,


>Sub Empfangen(byval Num As Byte)
>While Isit < 255
>Isit = Waitkey()
>Wend

Hier wird solange in der Schleife die Serielle Schnittstelle abgefragt, 
bis 255 ( Bin 11111111 ) kommt. Vermutlich zum Synchronisieren. Der 
Befehl Waitkey wartet auf einen Char der seriellen Schnittstelle, wenn's 
sein muss bis in alle Ewigkeit.

>Num=Num+1
>For F=1 To Num
>Isit = Waitkey()
>Ar(f) = Isit
>Next

Die Schleife sammelt Num mal (Übergabewert) Daten von der Seriellen und 
speichert die Daten in einem Array Ar(f).
Num+1 ist vermutlich wegen Array auslesen als Endkennung.



Gruß
Gerhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren