Gast
#62356
Hallo allerseits,
am Montag ist Facharbeitabgabe. Ich habe mich mit dem Bau einer
inertialen Messeinheit auseinandergesetzt was bis vor 3 Tagen auch
alles prima funktioniert hat - Problem nun: meine Funkmodule (BIM2)
sind mir wohl kaputt gegangen oder es hat sich erneut ein
Softwarefehler eingeschlichen - nachdem diese Funkmodule noch nie so
richtig fehlerfrei bei mir funktionierten hab' ich mich für einen
Datenübertragung über Kabel per serieller Schnittstelle entschlossen -
um möglichst wenig Software ändern zu müssen möchte ich keinen
Interrupt verwenden sondern das TXC und RXC bit abfragen.
Beim senden passiert aber nix - hier mal ein Codeschnipsel(atmega128):
void init_serial (void)
{
outp((1<<TXEN),UCSR0B); //
outp(103, UBRR0L); //9600bps @ 16 Mhz
outp(0, UBRR0H);
}
void write_byte (unsigned char bim_byte)
{
outp(bim_byte,UDR0);
loop_until_bit_is_set(UCSR0A,TXC);
sbi(UCSR0A,TXC); //löscht das TXC bit (siehe Datenblatt)
}
Das TXC bit wird aber nie eins und jetzt sitzt der MC in der Schleife
fest - warum wirds aber nie eins???
Wäre prima wenn mir jemand helfen könnte!!
Vielen Dank
Christian