Hallo, ich habe folgendes Problem: Ich schicke Daten mit einem ATmega über die UART-Schnittstelle an HTerm. Da ich Winkel ausgebe, möchte ich dazu auch das '°'-Zeichen mitschicken. Meine sprintf lautet: ... sprintf(buffer,"WinkelX = %1.1f\xF8, WinkelY = 1.1f\xF8\r\n",wertX,wertY); uart_puts(buffer); ... Mit Hypterterminal funktioniert das fehlerfrei. Bei der Ausgabe über HTerm zeigt es allerdings anstatt dem '°' nur ein Kästchen an. Zum Test habe ich mir mal alle ASCii-Zeichen anzeigen lassen.Dabei habe ich festgestellt, dass bei HTerm die Zahlen,Buchstaben und ein paar wenige Zeichen fehlerfrei angezeigt werden. Bei den restlichen Zeichen steht überall ein 'Kästchen'! Auf Hyperterminal funktioniert hingegen alles. Meine Einstellungen sind: baud: 38400 data: 8 stop: 1 parity: none new line: CR+LF
:
Verschoben durch User
Tja, ° ist auch kein "ASCII-Zeichen". ASCII ist ein 7-Bit-Zeichensatz, und der enthält weder ° noch Sonderzeichen wie Umlaute.
Ich würd mal schauen, ob man bei HTerm ne andere Schriftart für's Terminalfenster einbinden kann. Oh, und nimm mal 0xB0 anstatt 0xF8, das wird wahrscheinlich schon helfen (kann aber wie angedeutet Schriftartabhängig sein...). Ralf
wieso nicht beispielsweise einfach aus "37°" diese angabe machen: Angabe in Grad: 37
0xF8 ist der Zeichencode für die "DOS"-Codepage 437 bzw. 850. Das ist nur in den alten Pixelfonts für das Konsolenfenster so, Hyperterminal nutzt hier standardmäßig "Terminal". 0xB0 ist der Zeichencode für die Codepage 1251, die unter Windows standardmäßg verwendet wird. Wenn bei Hyperterminal eine andere Schriftart, wie z.B. "Consolas", "Courier New" oder "Lucida Console" eingestellt wird, stellt auch Hyperterminal das Grad-Zeichen bei diesem Code dar.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.