Hallo, aus bestimmten Gründen möchte ich statt eines Atmega8 einen Atmega88 verwenden. Dort wollte ich jetzt eine ISR_UART einrichten (s.kym_isr_uart01.c) und habe erst einmal versucht das einfache Tastenechoprogramm vom Atmega8 (s. tastenecho.c) auf den Atmega 88 umzumodeln, um zu sehen ob er sich am Terminal meldet. Die Registernamen habe ich verändert, allerdings hat der Atmega88 kein URSEL, mit dem er sich um das UBRR0H kümmert. Die Uart Ini im Datenblatt Seite 177 bringt mich nicht weiter. Ich bekomme nur Mist auf dem AVR Terminal, Fuses sind auf ext.crystal gesetzt. Kann mir bitte jemand einen Tipp geben? Thomas
http://www.atmel.com/dyn/resources/prod_documents/doc2553.pdf http://rn-wissen.de/index.php/Atmel_Controller_Mega48_Mega88_Mega168#Unterschiede_zwischen_Mega8_und_Mega88 Oliver
habe die application note gelesen, kapiere es aber immer noch nicht: UBRR0H ist doch initial value 0, aber die 9600 BAUD stehen doch im UBRR0L, muss ich mit dem UBRR0H dennoch irgendwas machen ? Thomas
Thomas schrieb: > muss ich mit dem UBRR0H dennoch irgendwas machen ? Wenn der High-Teil des Vorteilers 0 ist, musst du das Register nicht anfassen. Genausowenig, wie du für "normale Verhältnisse" (also das klassische "8N1") jemals das UCSRC/UCSR0C anfassen musst, womit sich das Problem der (Nicht-)Portierbarkeit des URSEL-Bits gleich in Luft auflöst. Aber dieser Wahn, zwingend die bereits voreingestellten Bits in dieses Register zu schreiben während der Initialisierung hält sich seit Jahren in diversen Tutorials.
Eine "Tücke" bei dem 88er: hast du das CKDIV8-Fuse noch gesetzt? das ist standardmäßig gesetzt, glaub ich. In die Falle bin ich zu beginn auch getappt :) Gruß
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.