Forum: Mikrocontroller und Digitale Elektronik wert an dptr übergeben


von Markus (Gast)


Lesenswert?

habe folgendes problem: ich will meinen dptr(16 bit register) über die
uart mit einem wert zwischen 0dez und 20000dez laden. habe es mir so
gedacht, dass man im terminalprogramm die werte in form von ascii
Zeichen eingibt und so jeweils nur 2 zeichen zu verschicken hat, wovon
eines in das highbyte des dptrs geht und das andere in das lowbyte des
dptrs. jetzt ist mir aber aufgefallen dass man mit asciizeichen ja gar
nicht alle werte von 00hex bis FFhex darstellen kann ;-(
gibt es da irgend ne andere möglichkeit das irgendwie hinzukriegen?
mal bsp: ich will das mein dptr nachher die zahl 250dez beinhaltet. um
das zu erreichen muss ich ja vom terminal zum uC den wert FA hex
schicken. leider gibt es für den wert FA ja kein ascii-zeichen.

wär super wenn mir jmd helfen könnte, ist nämlich teil von nem projekt
und das muss nächste woche stehn
mfg markus

von crazy horse (Gast)


Lesenswert?

für 16bit brauchst du 4 Hex-Werte, dementsprechend 4 Ascii-Zeichen (die
allerdings im Empfänger dekodiert werden müssen
('0'=0x30..'9'=0x39, 'A'=0x41..'F'=0x45.
Alternativ könntest du 2 Bytes im Binärmodus senden, kann man mit AltGr
+ 0 + Dezimalzahl eingeben, also für 0xFA AltGr drücken (und halten!),
dann mit 0250 mit dem Ziffernblock eingeben, AltGr wieder loslassen. Da
bei Binärübertragung prinzipiell alle Werte zwischen 0 und 255 auftreten
können, hast du allerdings keine (einfache) Möglichkeit mehr, dem
Empfänger mitzuteilen, dass die Übertragung fertig ist (bei Ascii nimmt
man gern CRLF)

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
Noch kein Account? Hier anmelden.