ich hab nen mega8-16Mhz und auf 9600 baud läufer der auch super stell ich den auf 2400 runter oder auf 19200 rauf kommen nur wirsche zeichen an für 2400: UCSRB = 0x00; //disable while setting baud rate UCSRA = 0x00; UCSRC = 0x86; UBRRL = 0xA0; //set baud rate lo UBRRH = 0x00; //set baud rate hi UCSRB = 0x98; für 19200 UCSRB = 0x00; //disable while setting baud rate UCSRA = 0x00; UCSRC = 0x86; UBRRL = 0x33; //set baud rate lo UBRRH = 0x00; //set baud rate hi UCSRB = 0x98; auch auf pc seite im terminal hab ich die passende baudrate eingestellt. habs mit dem selbstgeschriebenen terminal und mit dem hyperterminal von windows getestet, aber kein erfolg kennt jemand vielleicht das problem und kann mir helfen? danke christoph
Sollte dein µC mit 16MHz laufen passt ganz einfach die Baudrate nicht zur Taktfrequenz. Mit 9200 ist die Abweichung nur minimal drum funktioniert es auch. Du brauchst nur ins Datenblatt schaun, dort findest du auch die Berechnung. Hubert
solltest du den internen Oszillator verwenden Kalibrierung nicht vergessen (OSCCAL Register), danach alles wieder im grünen Bereich
hallo, ist zwar offtopic, aber ich habe mal mit den OSCCAL-Register gespielt und gemerkt das man den ATMEGA8 so bis auf etwa 16Mhz (15.86Mhz um genau zu sein) treiben kann wenn man den internen Oszilator auf 8Mhz setzt und OSCCAL auf 0xff setzt, leider ist das datenblatt da nicht ganz eindeutig beschrieben, auch traten bei mir die probleme mit dem Flash und EEprom nicht auf wie erwähnt. Deshalb meine frage ob jemand das auch schon mal probiert hat. CA Dirk
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.