Gast
#394960
Icbin grade dabei ein kleines programm für den mega8 zu schreiben das
einen zähler hochzählt un den zählerstand über den uart ausgeben soll.
ich habe den uart initialisiert und es macht in der simulation den
anschein als wenn es funktionieren würde. während der übertragung geht
das UDRE bit auf 0 und verhindert so das irgendwie die daten in UDR
überschrieben werden könnten. allerdings ist in der simulation in UDR
keine änderung zu erkennen, also es steht immer 0x00 drin. hab das
grade auch mal in nen µC geschrieben und an den COM-port angeschlossen
aber da kommt wirklich immer 0x00 an. langsam verzweifel ich hier
noch... hab das schon vereinfacht und versuche einfach nur irgendwas
auszugeben aber immer nur 0x00 :-(
hier mal mein c-code
int main (void)
{
UBRRH = ((8000000/16/9600 -1) >>8);
UBRRL = (8000000/16/9600);
UCSRB |= (1<<TXEN);
UCSRC |= (1<<USBS) | (3<<UCSZ0);
while (1)
{
if (bit_is_set (UCSRA, UDRE))
{
UDR = 0xA2;
}
}
}
eigentlich ist alles so wie im datenblatt und auch hier im tutorial
beschrieben...