Uart kann keine 0 übermitteln

OP #1312609
Lesenswert?
• ▲
▼
Moin.

Mein AVR schaffts absolut nicht ne "echte 0" auf den PC zu übertragen. 
Am PC kommt alles mögliche an, nur keine null.

An was kann das liegen?

Noch n bisschen Code:


Initialisierung der Uarts:
1
        UCSRB |= (1<<TXEN)|(1<<RXEN)|(1<<RXCIE);
2
        UCSRC |= (1<<URSEL)|(3<<UCSZ0);
3
        UBRRH=(uint8_t)(UART_BAUD_CALC(UART_BAUD_RATE,F_OSC)>>8);
4
        UBRRL=(uint8_t)UART_BAUD_CALC(UART_BAUD_RATE,F_OSC);
Und ich mach zu Testzwecken im Moment folgendes:
1
for(;;) uart_send(0)

Konfiguration: ATMega32, 16MhZ Quarz

Egal welche Baudraten ich verwende, es kommt nur Käse an.
Alle anderen Zahlen von werden korrekt übermittelt.
Habt ihr ne Idee?

Danke schonmal!

Ralf
OP #1312621
Lesenswert?
• ▲
▼
Terminalprogramm ist gtkterm, der mir direkt alle Zeichen als Hexzahlen 
anzeigen kann, von demher kanns also nicht als Steuerzeichen 
interpretiert werden, was auch irgendwo keinen Sinn macht weil es kommen 
ständig von null verschiedene Werte, und nicht nur ein Wert, der von 0 
verschieden ist.

Achja und ich verwende nen USB-RS232 Wandler
OP #1312657
Lesenswert?
• ▲
▼
Hab 9600bps, kann mir nicht vorstellen dass es daran liegt, weil alle 
anderen zeichen gehen ja

Im moment versuch ich das hier:

uart_send(10);
uart_send(20);
uart_send(30);
uart_send(40);
uart_send(50);
uart_send(60);
uart_send(0);


10-60 kommt richtig an, bei der 0 kommt was er gerade will:)
Gast #1312721
Lesenswert?
• ▲
▼
>Aber ich versteh trotzdem nicht wieso er erst lauter Kram rauslässt.
Kannst Du das mal näher erläutern? Ich meine gelesen zu haben, das die 
Null garnicht rüberkkommt. Dann scheint doch etwas rüberzukommen, aber 
statt der gesendeten Null irgendwelche Zufallsbits.
>bei der 0 kommt was er gerade will

Oder der Satz
>Am PC kommt alles mögliche an, nur keine null.
bedeutet, das entweder statt der Null nichts oder ein anderer Wert 
kommt.
Das wäre schon wichtig zu wissen.

Aus der Verwendung von Am gtkterm folgere ich, das Du unter *n*x 
arbeitest. Was gibt denn stty aus?

Ich habe kürzlich ein ähnliches Problem mit einem Perl Programm gehabt. 
Da musste ich mit stty rumspielen.

Das
>wenn ich mit hexdump -C /dev/ttyUSB0 rangeh zeigt er mir alles richtig
>an.
spricht wiederrum gegen ein Problem, das mit stty zu lösen wäre. Aber 
vielleicht ändert gtkterm ja die Einstellungen. Andererseits wundert 
mich, das hexdump das richtig ausgibt. Vor allem ohne "<" oder so.

Ausserdem ist neu, das Du die serielle Schnittstelle über USB 
angeschlossen hast. Was ist das für ein Konverter? Das kann manchmal 
auch Probleme geben.

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