mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Newbee - Uart1 läuft, Umstellung auf Uart2 - Läuft nicht.


Autor: Askan Simon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

eine Anfängerfrage...
bislang arbeite ich mit dem Uart 1 vom Atmaga 64, nun brauche ich noch
einen zweiten.
        #define BAUD 57600UL          // Baudrate
        #define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1)   // clever runden

  // Uart Initalisieren
  UCSR0B  = (1 << TXEN) | (1 << RXEN);
  UBRR0L  = UBRR_VAL; // Teiler setzen

  int put_char (char c) {
    while(!(UCSR0A & (1 << UDRE))) {
    }
    //loop_until_bit_is_set(UCSR0A, UDRE);
    UDR0 = c;
    return (0);
  }

Läuft wunderbar. Aus 0 mache 1. Das sieht dann so aus.
        #define BAUD 57600UL          // Baudrate
        #define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1)   // clever runden

  // Uart Initalisieren
  UCSR1B  = (1 << TXEN) | (1 << RXEN);
  UBRR1L  = UBRR_VAL; // Teiler setzen
  
  int put_char (char c) {
    while(!(UCSR1A & (1 << UDRE))) {
    }
    //loop_until_bit_is_set(UCSR0A, UDRE);
    UDR1 = c;
    return (0);
  }

läuft leider nicht. (Uart1 und Uart2 läuft akutell nicht
parallel, ich hab nur Uart1 geändert). Leider habe ich
den Uart1 soweit fertig übernommen. Und mit den ganzen
Registern kenne ich mich garnicht aus.

Kennt jemand zufällig die Lösung?
Ich denke so schwer kann die Umbenennung nicht sein.
Hoffe ich mal :)

Danke & Viele Grüße
Askan

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie ist die M103C Fuse eingestellt?

Autor: Michael H* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Askan S. wrote:
>
>     while(!(UCSR1A & (1 << UDRE))) {
>     }
>     //loop_until_bit_is_set(UCSR0A, UDRE);
> 
UDRE gibt es auch "zwei mal". UDRE0 und 1. die sollten zwar an den 
selben stellen sitzen, aber vllt liegts ja daran.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.