www.mikrocontroller.net

Forum: Compiler & IDEs Warnung bei USART-Init


Autor: Kinners Anjou (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo µC.net!

Ich bin gerade dabei, mich mit der Benutzung der USART-Schnittstelle 
meines ATmega644 vertraut zu machen. Zur Initialisierung habe ich 
folgende Zeilen geschrieben:
#define BAUD 2400
#define UBRR_VAL ((AVR_CLOCK_FREQUENCY+BAUD*8)/(BAUD*16)-1)
#define BAUD_REAL (AVR_CLOCK_FREQUENCY/(16*(UBRR_VAL+1)))    //Reale Baudrate
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000)              //Fehler in Promille

#if ((BAUD_ERROR>10) || (BAUD_ERROR<-10))                    //max. +/-10 Promille Fehler
  #error "Systematischer Fehler der Baudrate grösser 1 Prozent und damit zu hoch!"
#endif

void uart_init(void)
{
UBRR0 = UBRR_VAL;
// ...
}

... Das klappt auch so weit. Bis auf die Warnung "Integer Overflow", die 
bei "UBRR0 = UBRR_VAL;" auftritt. Allerdings habe ich den Anspruch, 
warnungsfrei kompilieren zu können.

Ich hoffe, ihr wisst, wie man es besser machen kann. Freu' mich!

Gruß,
Kinners

Autor: Kinners Anjou (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay. Man nehme ein Datenblatt und... Halleluja ;D

Steht wie immer alles im Text. Wollte ich nur erwähnen, falls jemand das 
gleiche Problem hat wie ich.

Kapitel: 1. USART

Gruß,
Kinners

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.