ATMega32 Uart - Anzeige falscher Zeichen

Gast #1361287
Lesenswert?

Hallo,

wir haben zur Zeit ein Problem mit der Datenübertragung vom ATMega32 zum 
PC.
Die Spezifikationen sind im Anhang angegeben.
Statt einem A kommt im Terminalprogramm(Cutecom) Hex: 0e c0 fe
--> ASCI: Àþ
Wir nutzen den FTDI-Chip 232.

Kann uns jemand sagen wo unser Fehler liegt?
Angehängte Dateien:
#1361541
Lesenswert?

Kann man eigentlich mit dem FTDI-Chip 232 in jeder belibigen Baudrate 
sprechen. Sprich: erkennt der die Baudrate selbsttätig?


Edit:
mitlerweile nachgegoogelt. Der FT-232 wird per USB auf die Baudrate 
eingestellt.

  usart_init(600UL); // init USART


600 Baud ist eine unübliche Baudrate. Sicher, dass ihr den Chip auf 
diese Baudrate konfiguriert habt?

Warum ich frage:
Klar, der interne Oszillator ist nicht so genau. Aber so daneben ist er 
auch wieder nicht, dass aus 1 gesendetem Byte 3 Bytes auf der 
Empfangsseite werden.
Gast #1361638
Lesenswert?

Also,

nachdem wir du Fuses falschgesetzt hatten ging erstmal gar nichts mehr.
Zuhause habe ich jetzt, das ganze mit dem STK500 behoben und den Takt 
intern auf 4MHz gestellt.

Als Baudraten wurden 300, 1200 und 2400 ausprobiert.
Bei allen kommt auf dem Terminel Hex: FF --> ASCI: ÿ an.

Die Baudraten wird im Terminalprogramm natürlich auf den selben Wert 
geschalten.
Gast #1361765
Lesenswert?

So dass Programm oben läuft jetzt. Hab alle einstellungen im Compiler 
nochmals übernommen und die Baudrate auf beiden Seiten überprüft.

Wenn ich das ganze jetzt aber auf 2 Dateien aufteile (also usart_init 
und usart_putc in eine Datei namens uart.c den Rest in microc.c) und das 
ganze wie folgt kompiliere:

avr-gcc -mmcu=atmega32 -O0 -c microc.c -o microc.o
avr-gcc -mmcu=atmega32 -O0 -c uart.c -o uart.o
avr-gcc microc.o uart.o -mmcu=atmega32 -o project.out 
-Wl,-Map,project.map
avr-objcopy -P .eeprom -O ihex project.out project.hex

und die project.hex dann flashe, dann kommt wieder ein falsches 
ergebnis. Setze ich die beiden Dateien falsch zusammen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren