String seriell entgegen nehmen
Hallo,
ich will über die serielle Schnittstelle alle Ports (B, C und D) steuern. Wie hier unter Interrupts steht nehme ich mit diesem code einen string entgegen:
Zitat:
On URXC OnRxD
Enable URXC
Enable Interrupts
...
OnRxD:
i = UDR
Return
Ich dachte mir ich sende um beispielsweise PC3 einzuschalten c31 (also Port C, Nummer 3, Zustand ein), fürs ausschalten c30 (bessere Vorschläge?).
Nun wird ja der Onrxd-Teil bei jedem Zeichen das reinkommt ausgeführt. Ich sende und empfange also prinzipiell drei Zeichen. Wie liest man eine Nachricht nun am schnellsten/elegantesten ein?
Muss ich hierfür ein viertes "Stopzeichen" mitschicken (-> c31;) und ein Array füllen solange bis das Stopzeichen kommt, oder geht das irgendwie einfacher?
Und wie gehe ich mit c31, c30 (oder was auch immer) um? In Delphi würde das hier gehen:
Zitat:
Port + erstesElement + . + zweitesElement + " " = + " " + drittesElement
was dann soviel heisst wie
PortC.3 = 1
So oder so ähnlich. Das Prinzip sollte ersichtlich sein. In Bascom muss ich hierfür doch keine riesige verschachtelte Case/If-Anweisung machen, oder?
Re: String seriell entgegen nehmen
Zitat:
Zitat von Predat0r
Nun wird ja der Onrxd-Teil bei jedem Zeichen das reinkommt ausgeführt. Ich sende und empfange also prinzipiell drei Zeichen. Wie liest man eine Nachricht nun am schnellsten/elegantesten ein?
Hallo Predat0r!
Vielleicht ist CONFIG SERIALIN etwas für dich:
http://halvar.at/elektronik/kleiner_...om_computer_2/
mfg
Gerold
:-)