www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART initialisieren


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich versuch mit WinAVR ein Programm zu schreiben,
das mir über den UART meines ATmega32 ein paar Zeichen
zum PC sendet.

Dafür hab ich eine Funktion UART_init geschrieben die
mir den UART initialisieren soll.
Compilieren funktioniert ohne Probleme, beim debuggen
spring er allerdings nicht in UART_init. Kann es sein
das der Compiler das Unterprogramm wegoptimiert??

WAs kann ich dagegen machen? Bei Gelegenheit vielleicht
noch ein Tip ob die Übertragung auf diese Weise
funktionieren könnte!

Danke, Stefan



Hab das Programm mal drangehängt.


#include <avr/io.h>
 void UART_init(void)
 {

 // Baudrate einstellen

 sbi(UBRRH,7);        // Zugriff auf UBRRH ermöglichen
 UBRRH = (UBRRH | 0x00);
 UBRRL = 0x17;        // 9600 bps

  // Frame Format einstellen

 cbi(UCSRC,7);              // Zugriff auf UCSRC
 cbi(UCSRC,6);         // Asynchrone Übertragung
 UCSRC = (UCSRC | 0x10);     // Even Parity
 cbi(UCSRC,3);        // 1 Stop Bit
 UCSRC = (UCSRC | 0x03);    // 8 Datenbit
 cbi(UCSRB,2);

 // RxD, TxD freischalten

 sbi(UCSRB,3);        // TxD Pin freischalten
 sbi(UCSRB,4);        // RxD Pin freischalten

 }

 void send_fkt(char byte)
 {
  while ( !(UCSRA & (1<<UDRE)));
  UDR = byte;
 }

 int main(void)
 {

 UART_init;


 while(1)
    {
  send_fkt("O");    // Zeichen übertragen
  send_fkt("k");
  send_fkt(" ");
    }
 return 0;
 }

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.