Ich setze mich momentan mit dem Usart Schnittstellen meines mega162
auseinander nur leider scheint es schon an der Initialisierung zu
scheitern.
Erstens steht im Datenblatt zum setzen von Bit MPCM im UCSRA Register
folgendes:
Do not use Read-Modify-Write instructions (SBI and CBI) to set or clear
the MPCM bit. The
MPCM bit shares the same I/O location as the TXC Flag and this might
accidentally be cleared
when using SBI or CBI instructions
also versuchte ich es mit:
ldi r16,1<<MPCM0
sts UCSR0A,r16
was aber aus irgendwelchen Gründen nicht Funktioniert, das Register
bleibt unverändert. Direktes laden mit SBI funktioniert was das für
einen Einfluss auf TXC hat konnte ich noch nicht sehn.
Weiter wollte ich zum einstellen des 9Bit Modus in Register UCSRC
schreiben dazu muss ein zusätzliches AuswahlBit gesetzt werden da
ansonsten in UBRRH dem High Byte des Baud Teiler registers geschrieben
wird.
Jedenfalls Funktioniert das auch nicht wirklich, da beide Register
beschrieben werden also UBRRH sowie UCSRC
ldi akku,1<<URSEL0|1<<UCSZ01|1<<UCSZ00
out UCSR0C,Akku
Hat vielleicht jemand schon ähnlcihe Probleme festgestellt oder sind
meine Befehle einfach nur falsch?
Grüße