USART beim Atmega48

Gast #511633
Hallo,

ich suche ein funktionierendes und verifiziertes Beispiel zur 
Ansteuerung der UART des Atmega48/88.  Mangels eines Oszis bzw. eines 
Logianalyzers weiß ich nicht, was der Atmega macht. Ein String wird als 
Wirrwar im Terminal angezeigt, ein einzelnes Zeichen wird erst gar nicht 
dargestellt.

Das Beispiel für gcc
1
#include <avr/io.h>
2

3
int main(void) {
4

5
    UCSR0B |= 1<<TXEN0;
6
    UCSR0C = 3<<UCSZ00;  // 8n1
7
    UBRR0H = 0;
8
    UBRR0L = 47;    //9600 Baud
9
  
10
    while (!(UCSR0A & (1<<UDRE0)))
11
    UDR0 = 'A';
12
    while(1);
13
}
>Ist da der Chip oder der Treiber da Problem?

Vermutlich kannst du die Puffergrösse irgendwo einstellen.
USB überträgt immer Datenrahmen einer bestimmten Grösse (welche, weiß 
ich gerade nicht...). Einer von beiden (Chip oder Treiber) sammelt 
scheinbar erst mal die Daten und überträgt dann den kompletten Block.

>Du scheinst ein USB-Puffer-Problem zu haben.
... ist einfach nur eine Vermutung aufgrund diverser Posts zu dem Thema.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 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.