Hallo, ich habe zwei Mikrocontroller und ich möchte Daten von einem zum anderen Schicken. Der eine soll immer nur empfangen, der andere immer nur senden. Ist dies mit einer Leitung mit der in den AVRs eingebauten UART schnittstelle möglich? Quasi das ich den Master mit der Tx Leitung und den Slave mit der Rx Leitung verbinde. oder passiert da in jedem Fall irgendeine Art von Handshake? Datenintegrität ist nicht wichtig, d.h. die Daten können zur not auch ungeprüft übertragen werden, wenn mal ein falsches Paket dabei ist, macht das nichts. Gruß Malte.
eines ist durchaus möglich, eine unidirektionale Kommunikation aufzubauen. Die meisten telemetrie-anwendung auf funk-basis machen nichts anderes. der temp-sensor sendet daten und das display empfängt. handshake (egal ob hardware oder software) findet nicht statt, solange du es nicht dafür konfigurierst. bei einer verbindung der controller über ein kabel ist natürlich noch zu beachten, dass die beiden gnd's der controller miteinander verbunden sind...
2 Leitungen sind immer nötig. Datenleitung (TX oder RX) und GND (Bezugspotential).
gemeinsame Masse ist vorhanden, habe lediglich nur eine der beiden Datenleitungen zur Verfügung. Kann ich demnach aus deiner Aussage entnehmen das es geht? Gruß Malte.
ja, es geht. wenn die masse bei beiden gleich ist, dann ist das kein problem...
werden die nicht genutzten Rx und Tx pins der Controller anderweitig verwendet?
Für beidseitiges Senden und Empfangen mußt beide Pins RX und TX der AVRs verbinden. Mit einer Leitung verbindest Du die beiden verbundenen RX/TX-Pins beider AVRs. Jeder AVR bekommt dann auch seine eigenen Daten zu lesen, das kann man aber in der Software ausmaskieren. Über die eine Leitung können beide AVRs zeitlich versetzt senden und empfangen. Soll ein AVR immer nur empfangen und ein AVR immer nur senden, dann reicht eine Verbindung vom Master TX zum Slave RX, natürlich.
Funktioniert problemlos... wir hatten auch nur noch einen einzigen Pin frei (Rx) und daran den Rechner mit Pegelanpassung angeschlossen. (ATMega16) Handshake gibt's normalerweise keinen - müsstest du selber implementieren.
Ok, danke... was vielleicht nicht ganz rüber gekommen ist. Die Pins hab ich schon, nur die Leitung nicht da in dem entsprechenden Kabelbaum nur ein Kabel frei ist. Aber da es ja eh nur unidirektionale Kommunikation braucht, reicht das ja. War mir nur nicht sicher ob der Controller nicht trotzdem beide Leitungen braucht aus irgendwelchen technischen Gründen. Werd das dann mal ausprobieren. Gruß Malte.
@ Malte (Gast) >frei ist. Aber da es ja eh nur unidirektionale Kommunikation braucht, Nennt sich Simplex. http://de.wikipedia.org/wiki/Duplex_%28Nachrichtentechnik%29 >reicht das ja. War mir nur nicht sicher ob der Controller nicht trotzdem >beide Leitungen braucht aus irgendwelchen technischen Gründen. Nein. MfG Falk
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.