Werbung
Hi,
ich habe folgendes Problem.
Wenn ich mit dem ATMega 16 Zahlen über 127 durch die serielle schnittstelle sende kommen auf der pc seite nur 63 an.
Ich verwende WinAVR in einer aktuellen Version.
Die Methoden zur Datenübertragung verarbeiten nur char Variablen, so dass ich vorher meine 8bit integer zu chars convertieren muss.Hier tritt das Problem noch nicht auf. Ascii Zeichen werden Problemlos übertragen.
Die beiden Sende-Methoden:
kann mir jemand bei dem Problem helfen?Code:void USART_transmit (unsigned char c) { while (!(UCSRA & (1<<UDRE))) {} UDR = c; } void USART_transmit_string (unsigned char *string,unsigned char lenght) { while (!(UCSRA & (1<<UDRE))) {} for(int i=0;i<lenght;i++)//while ( *string!=0x00)//while ( *string) USART_transmit (*string++); //geht im string weiter und gibt zeichen für zeichen aus }
MFG
Bomb
Hi, check einmal die Einstellungen des Terminal: 8N1 is gefragt
daß ASCII geht, ist logo, is ja alles UNTER 127
mfg robert
Danke für die Antwort.
8bit no Parity und 1 stop ist eingestellt beiderseits.
Vielleicht isses nochn bug im framework 2.0b.
Ich versuchs mal mit anderen Terminals. ComTerm hat ne hex Auswertung. vielleicht sieht man das was.
MFG
Bomb
Hi, der Fehler wäre zu massiv, als daß er ein Bug in irgendeiner Entwicklersaftware/library sein könnte. So leid es mir tut, da musst du was mülliges reingeschrieben oder unterlassen haben.
viel Glück ! mfg robert
Das scheint am encoding zu liegen. Man kann für das SerialPort objekt im c# 2005 das Encoding und Decoding einstellen.
wenn ich statt Ascii auf utf 8 stelle wird nicht 63 angezeigt sondern gar nix. Irgendwo hier musses haken.
Ich würds gern gar nicth codiert oder decodiert haben. Nur ganz normal als Byte.
Naja. Wenn ichs raushab dann melde ich mich nochmal.
MFG
Bomb
Hast du ne Ahnung wie man ds Encoding umgehen kann?
Der haut immer das raus was nicht einem Encoding standard entspricht. bei Unicode z.b. geht die 128 und die 252 aber die 24 nicht.
bei ascii gibts den oben geschilderten Fehler.
Man das nervt vielleichtDas ist hoffendlich der letzte Fehler zu meinem Funktionierenden ModBus ....
MFG
Bomb
Lesezeichen