ASCII Code und Binäre Code von einem String trennen

OP #2420429
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
#2420436
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.