Forum: Compiler & IDEs ASCII Code und Binäre Code von einem String trennen


von Ge G. (gege368)


Lesenswert?

Hallo Zusammen.

Es gibt ein interessantes Projekt auf Website:

http://winavr.scienceprog.com/example-avr-projects/running-tx433-and-rx433-rf-modules-with-avr-microcontrollers.html

Kommunikation zwischen zwei uC mithilfe RX433 und TX433.

Meine Frage:
wenn ich jetzt statt 433 RFM einen anderen Funk-Modul nehmen, die aber 
mit AT-Modus zu steuern, wie kann es ungefähr realisiert werden?

Ganz Kurz zu dem AT-Modul des verwendeten Moduls,
man muss immer ein "AT" als Präfix vor dem Command nehmen,
zum Beispiel "AT+UART=11520,1,2\r\n" beudeutet, dass Baudrate 115200 
zwei Stopbits und even Parity gesetzt sind.

Zurück zu diesem Projekt, ich will mit diesem Modul auch gleiche Code 
senden ( 0xAA,0x44,0x11,0x55). Aber vor der binären Code steht noch 
"AT+BYTESEND:" unter ASCII code für den Funk-Modul. ("AT+BYTESEND"habe 
ich hier als Beispiel genommen)

Für TX werde ich kein Problem haben, da sende ich einmal die ASCII CODE,
dannach nochnmal die binäre Code.

Aber ich habe Schwierigkeit mit RX.
Der Empfänger wird ständig die Informationen auf zwei Sprachen 
bekommen,wobei ich weiß ganz genau, als Präfix bekomme ich die ASCII 
CODE "BCAST:xxxxxx:" (xxxxxx ist die 6-stellige ID meines Moduls, kann 
aber auch eine variierte Nummer sein), nach der ASCII Code kommt dann 
meine binäre Code, dann will ich die binäre Code mit dem Algorithmus des 
Beispielprogramm weiterlaufen lassen.

Wie kann mein uC zwei verschienen Sprachen gleichzeitig in einem String 
erkennen und trennen?

Hat jemand Erfahrung damit? Vielen Dank für die Hilfe.
Schönen Abend.
GeGe

von Karl H. (kbuchegg)


Lesenswert?

Ge Ge schrieb:

> Wie kann mein uC zwei verschienen Sprachen gleichzeitig in einem String
> erkennen und trennen?

Sowas nennt man Protokoll
und es bedeutet, dass nicht einfach jeder nach Gurdünken das senden kann 
was er gerne möchte, sondern sich an Regeln halten muss.

Es liegt jetzt an dir diese Regeln zu formulieren, nach denen die 
Kommunikation ablaufen soll. Ein Anfang besteht schon einmal darin, dass 
man sich zb darauf einigt, dass der Verbindungsaufbau vom Sender zum 
Empfänger (nicht die mit dem Modem) grundsätzlich immer mittels ASCII 
Zeichen erfolgt. Will nun der Sender Daten binär an den Empfänger 
schicken, dann schickt er ihm erst mal eine Vorankündigung: "Achtung, 
jetzt kommt binär". Dazu muss es dann noch einen Mechanismus geben, mit 
dem der Sender dem Empfänger mitteilen kann: Das wars, jetzt wieder 
zurück auf ASCII

von Ge G. (gege368)


Lesenswert?

Danke Karl!
Eine Richtlinie habe ich jetzt von dir,
ich probiere's, dann melde mich nochmal.
Viel Grüße

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.