Text über Uart und FT232 an PC

Gast #1645468
Lesenswert?
• ▲
▼
Hi ich sitze gerade wieder mal an meinem Testboard.

Ich habe mir heute meinen FT232RL aufgelötet und wollte mir zum Test von 
meinem Atmega128 zum PC ein paar Zeichen senden. Ich fahre momentan mit 
38kbaud.

Folgendes Problem:
Sende ich mit UDR1 = "A"; ein "A" dann komt am PC ein "E" an
Sende ich mit UDR1 = "B"; ein "B" dann komt am PC ein "G" an
Sende ich mit UDR1 = "C"; ein "C" dann komt am PC ein "I" an

Sende ich mit UDR1 = 65; ein ASCII-"A" dann kommt auch ein "A" an.

Meine Uart Config sieht so aus:
  UCSR1A = (1 << U2X );
  UCSR1B = (1 << RXEN) | (1 << TXEN);
     UCSR1C = (0<<USBS1)|(1 << UCSZ11) | (1 << UCSZ10);
     UBRR1L = 25;     //38 kBaud bei 8 Mhz U2X = 1
     UBRR1H = 0;

Mein Testboard kenn ihr schon aus diesem Beitrag:
Beitrag "Hoher Strom bei Taster am Eingan"
Gast #1645604
Lesenswert?
• ▲
▼
1)TX und RX- Leitungen vom FT232RL miteinander verbinden, und prüfen ob 
die vom Terminalprogramm gesendete Zeichen auch richtig ankommen.
Treten keine Fehler auf, so kann man den FTDI als funktionsfähig 
abstempeln.
2)Wozu schaltest du UART double speed ein?
  UCSR1A = (1 << U2X );
Hab’s noch nie gebraucht, also zuerst mal abschalten.
  UCSR1A = (0 << U2X );

3)   UBRR1L = 25;     //38 kBaud bei 8 Mhz U2X = 1
Diese Zeile deutet darauf hin, dass du als Clocksource den Internen RC- 
Oszillator verwendest. Ist keine so gute Idee. Für Testzwecke sollte man 
die Baudrate sehr klein wählen(bsp. =<600Baud/s), somit dürfte es 
vielleicht noch klappen. Für höhere Baudraten sollte ein Baudratenquarz 
oder überhaupt ein Quarz verwendet werden.

Hast du schon dieses Tutorial gelesen?
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
ist echt spitze.

Weitere nützliche Informationen über die UART gibt’s im jeweiligen 
Datenblatt.

Gruß gtf
Gast #1646823
Lesenswert?
• ▲
▼
Danke für die Antwort.
Ähm ich muss ehrlich sagen mit meinem zweiten Beitrag wollte ich 
mitteilen daß ich das Problem gefunden habe. Es waren einfach nur die 
doppelten Gänsefüße ^^. Wollte ja keinen String übergeben sondern nur 
ein einziges zeichen. Es funktioniert jetzt jedenfalls ^^

Antwort schreiben

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.

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.