Forum: Compiler & IDEs URSEL Bit in Atmega328P


von Arne P. (ob3lix)


Lesenswert?

Hallo an alle,

wir programmieren zur Zeit einen Atmega 328P für eine Technikerarbeit.

Zur Kommunikation verwenden wir das SNAP Protokoll und beim Einbinden 
von diesem in das Programm bekommen wir die Fehlermeldung, dass das 
URSEL Bit nicht gefunden wurde, das ist der einzigste Fehler der noch 
angezeigt wird. Wenn ich die entsprechende Zeile lösche, werden es 
plötzlich wieder 10 Fehler. Wie kann ich dieses Bit ersetzen oder 
löschen?
1
// Configure hardware UART
2
  UCSR0B = 0x00;                   // disable while setting baud rate
3
  UCSR0A = 0x00;
4
  UBRR0H = (unsigned char)(UART_BAUD_SELECT>>8);   // set baud rate hi
5
  UBRR0L = (unsigned char)UART_BAUD_SELECT;     // set baud rate lo
6
  UCSR0B = BV(TXEN0)|BV(RXEN0)|BV(RXCIE0);      // enable transmit, receive, receive complete interrupts
7
  UCSR0C = BV(URSEL)|BV(UCSZ01)|BV(UCSZ00);      // 8-bit characters

Falls ihr noch weitere Info`s braucht, meldet eucht bitte!

MfG
Arne

von Krapao (Gast)


Lesenswert?

Datenblatt:
19.11.4 UCSRnC – USART Control and Status Register n C
=> Bits 7:6 – UMSELn1:0 USART Mode Select

von Krapao (Gast)


Lesenswert?

Nicht verwechseln mit dem URSEL, das bei manchen AVRs zur Auswahl der 
Funktion des UCSR0C Registers (entweder Baudrate oder Datenformat) 
verwendet wird.

von Stefan E. (sternst)


Lesenswert?

Der ATmega328 hat dieses Bit schlicht nicht. Und da der Default-Inhalt 
von UCSR0C eh genau dem entspricht, was du gerne hättest, kannst du auch 
gleich die ganze Zeile löschen. Und wenn du dann weitere Fehler hast, 
musst du dich um die kümmern. Du hättest diese "neuen" Fehler so oder 
so, du hast sie nur bisher nicht zu Gesicht bekommen, weil der 
Übersetzungsvorgang vorher abgebrochen wurde.

von Arne (Gast)


Lesenswert?

@sternst:

danke für die Hilfe, dann werd ich mal nach den anderen Fehlern schauen! 
Vllt. melde ich mich dann nochmal =)

MfG
Arne

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.