Gast
#1898678
Hey Leute, eigentlich dachte ich es wäre mir problemlos Möglich 2 ATMegas miteinander kommunizieren zu lassen, scheinba habe ich mich aber überschätzt. Also mein UART ist eingestellt auf 9600 Baud, asynchronous, 8Datenbits, no Parity, 1Stopbit. So nun Daten empangen läuft quasi automatisch. Von aussern kommt ein Startbit, der Hardware-UART springt an und meldet am ende mittels eines Flags den erfolgreichen Empfang. Senden läuft ähnlich: ich schriebe ins leere Puffer-register und warte bis die Daten raus sind. Nun die Frage: Wenn gerade Daten empfangen werden wärend ich Daten in den TX-Puffer schreibe, wann werden diese gesendet? Ich verstehe das ja richtig, dass es bei der asynchronen Verbindung zweier µCs keinen Master und kein Slave in dem Sinne mehr gibt oder? Hintergrund: Ich möchte, dass ein Controller den anderen Befragt und Befehle gibt (also doch irgendwie ein Master). Will µC1 z.B. dass µC2 "LED 2 an"macht, so schickt er z.B. ein "a" an den Anderen. Will µC1 aber den Wert von "(uint16_t)variable" wissen, sendet er z.B. ein "b" an µC2, woraufhin µC2 den Wert von Variable sendet, also also erst das HighByte und anschließend das LowByte von "variable" in den TX-Puffer schriebt. Oder ist das ein völlig falscher Ansatz wie man 2 µCs über UART kommunizieren lässt. Vielen Dank lg Martin