-
-
Erfahrener Benutzer
Roboter Genie
Neinein, beim USART gibt es keine Adressen. Dafür haben die meisten Megas halt ihr TWI-Interface. Du kannst natürlich was überlegen, indem du dir einen eigenes Protokoll nimmst. Z.B. indem du 3 Byte auf die Leitung legst, Adresse, Kommando, Daten. Dann muss die Interruptroutine feststellen, ob es ihre Adresse ist und dann den Rest verarbeiten.
Unterscheidbar wäre das dann, indem du von Adresse, Kommando und Daten je 1-2 Bit aufsparst, als Markierung. Also Adressen von 0-127, oberstes Bit auf 1 gibt an, dass es ne Adresse ist, oberstes Bit auf Null gibt an, dass es n Befehlscode ist. Daten sind nur gültig, wenn es das dritte Byte ist, was gesendet wird. Sollte nicht schwer sein sich sowas zu überlegen. Ich glaube es gibt noch n Bus in der Messtechnik, wo Geräte damit ferngesteuert werden können (Multimeter, Spannungsquellen, Oszis..). Dabei wird das UART Signal in das Gerät geführt, und genau so wieder an das Nächste weiter geschickt. D.h. das Paket geht durch alle Hände, bis es seinen Empfänger gefunden hat. USART mit mehreren hat halt immer n recht großen Overhead, weil meist Steuerzeichen drin sind. Aber eigentlich könntest du das auch wie n I2C machen, nur ohne Acknoledge, Start und Stop Condition. Die müsste man mit speziellen Zeichenfolgen bauen.
Wenn du nen Bus willst, reicht da echt nichtmehr der Platz um Software-I2C auf dem einen zu Implementieren?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen