Bekomme ATMega 128 UART nicht zum laufen

Gast #303968
Lesenswert?
• ▲
▼
Hi,

ich bekomme den ATMega 128 UART nicht zum laufen. Bin Anfaenger und
mache irgendeinen Fehler:

Mein Code:
#define F_CPU 16000000
#define UART_BAUD_RATE 9600

void uart_init(void) {
  #define UART_UBRR_CALC(BAUD_,FREQ_) ((FREQ_)/((BAUD_)*16L)-1)

  UBRR0H = (uint8_t)(UART_UBRR_CALC(UART_BAUD_RATE,F_CPU)>>8);
    UBRR0L = (uint8_t)UART_UBRR_CALC(UART_BAUD_RATE,F_CPU);
  UCSR0B = (1 << RXEN) | (1 << TXEN);
  UCSR0B |= (1 << TXEN);
    UCSR0C |= (3 << UCSZ0);
}

void uart_transmit_char(unsigned char txchar) {\
  while (!(UCSR0A & (1 << UDRE)));
    UDR0 = txchar;
}


Weitere Infos:
ATMega128, STK500, 16MHz Quarz, XTAL1-Jumper gesetzt, OSCSEL-Jumper auf
2-3, "Ext Crystal/Resonator High Freq.; Start-up time: 16 CK +
64ms"-Fuse gesetzt.

PE0 -> TXD (RS232 SPARE Anschluss, Terminal gibt Echo, wenn ich Jumper
auf TXD & RXD setze)
PE1 -> RXD
Anders herum auch schon probiert.

Ich habe auch schon fuer die Baudrate statt der Formal verschiedene
Werte aus dem Datenblatt probiert (z.B. 103 fuer 9600 baud).

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.