Forum: Compiler & IDEs UART von Atmega8 auf Atmega88


von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

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

von Oliver (Gast)


Lesenswert?


von Thomas (Gast)


Lesenswert?

Danke,

werde ich mal durcharbeiten...

Thomas

von Thomas (Gast)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Joachim B. (jojo84)


Lesenswert?

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
Noch kein Account? Hier anmelden.