Probleme mit USART im ATmega48

Gast #283794
Lesenswert?
• ▲
▼
Hallo,

ich habe einen ATmega48 gekauft. Ich habe einen IC angeschlossen, der
dann mit 19200bps Daten an den Atmel schickt. Diese leite ich dann zum
PC weiter. Nun kommen aber immer nur Hex Zahlen mit den Werten 80 oder
00 an. Wenn ich z.B. einen ATtiny2313 einbaue, funktioniert es
einwandfrei.

Kann mir mal jemand ein kleines Testprogramm für die serielle
Schnittstelle schicken das mit dem ATmega48 funktioniert.

Danke

MfG Alex
Gast #283796
Lesenswert?
• ▲
▼
Hallo,
das ist mein Code
der PC empfängt Hex: 80 00 80
F_CPU steht im Makefile und hat den Wert 8000000


#include <stdlib.h>
#include <avr/io.h>

#define UART_BAUD_RATE      19200

void uart_init(unsigned int baudrate)
{
    UBRR0H = ((unsigned char)(baudrate>>8))&0x80;
    UBRR0L = (unsigned char) baudrate;
    UCSR0B = _BV(RXCIE0)|(1<<RXEN0)|(1<<TXEN0);
    UCSR0C = (3<<UCSZ00);
}

void uart_putc(unsigned char data)
{
    while ( !(UCSR0A & (1<<UDRE0)))
    {
        asm("nop");
    }
    UDR0=data;
}

int main(void)
{
    uart_init(F_CPU/UART_BAUD_RATE/16-1);
    uart_putc('A');
}

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.