Gast
#49696
Hallo!
Mich würde mal interessieren, ob hier jemand schon mal den USART der
ATmegas im MPCM (multi-processor communication mode) benutzt hat, mit
dessen Hilfe man ja sehr einfach eine Buskommunikation realisieren
kann, weil sich recht einfach zwischen Adressdaten und Nutzdaten
unterscheiden lässt.
Gibt es irgendwo Beispiele im Netz?
Ich habe Probleme mit der Kommunikation, weil beim Empfangen immer ein
Frame Error erzeugt wird, wenn der Master seine Antwort vom Slave
bekommt.
So habe ich den USART bei Master und Slaves initialisiert:
UCSRC = (1<<URSEL)| (2<<UPM0) | (1<<USBS) | (3<<UCSZ0);
SETBIT (UCSRB, UCSZ2);
/* Daten Format: 9 Bit Daten
1 Bit Parity-Bit Even Parity
2 Bit Stopp-Bit */
UCSRA |= (1 << MPCM); /* Multiprocessor Communication Mode aktivieren
*/
Der Frame Error wird angeblich erzeugt, wenn ein
Kommunikationsteilnehmer 8Bit Daten erwartet und dann das Stopbit 0
ist. Ich habe aber alle für 9Bit Daten konfiguriert und kann mir diesen
Fehler nicht erklären.
Danke für die Hilfe!!