Atmega8 UART problem

Gast #181100
Lesenswert?
• ▲
▼
Hallo,
habe mal wieder ein dummes Anfängerproblem...
wollte mit dem atmega8 einfach mal ein buchstabe mithilfe des wikis
senden. habe zum testen einfach mal alles mögliche includet.

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/delay.h>
#include <inttypes.h>
#include <string.h>
#include <stdlib.h>
#define F_CPU 4000000          // 4MHZ Oszi angeschlossen
#define UART_BAUD_RATE 9600     // baud rate = 9600 (uebertragung)

main()
{

    UBRR=(F_CPU/(UART_BAUD_RATE*16L)-1);
    UCSRB=(1<<TXEN);

    UDR="x";
}

Aber der compiler spricht:

uart1.c:14: error: `UBRR' undeclared (first use in this function)
hat UBRR beim Atmega eine andere bezeichnung? Oder was mache ich
falsch?

Vielen Dank für eure Hilfe.
Gast #181101
Lesenswert?
• ▲
▼
Unpassende Registernamen genutzt. ATmega8 hat keinen "alten" UART
sondern einen "neuen" USART. Hatte gehofft, den Unterschied
UART/USART im Wiki deutlich beschrieben zu haben - wohl nicht.
Verbesserungsvorschlaege willkommen oder gleich selbst verbessern.
Ansonsten: Datenblatt gibt erschoepfend Auskunft und sogar Beispielcode
oder sich z.B. von der "Fleury-UART-lib" inspirieren lassen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren