Witam! Walczę z tym i za nic nie mogę tego przeskoczyć.
Piszę program, który przez rs232 (9600bps) otrzymywał będzie znaki ASCII (sporą ilość nawet do 200) jego zadaniem będzie łączenie znaków w pary i przetwarzanie ich na liczby dziesiętne i odsyłanie ich z powrotem.
Dostaje B6ff25 oddaje 128 255 37
W zasadzie algorytm jest łatwy, ale niestety mikro się nie wyrabia mimo ze wlutowałem rezonator 10 MHz.
Ja napisałem to tak:
Do
B = Inkey()
If B > Chr(0) Then
Incr Liczdwa
Mid(bufor , Liczdwa) = B
If Liczdwa = 2 Then
Liczdwa = 0
A = Hexval (bufor)
Print (A)
End If
End If
Loop
End
Oczywiście da się to uruchomić, jeśli zastosujemy buforowanie, ale nie mogę zastosować bufora 200 znaków.
Pytanie brzmi
Jak napisać ten algorytm zamiany pojedynczych ASCII na liczbę szesnastkową tak, aby mikro się nie plątał?
Myślałem nad wstawką w asemblerze, ale język ten jest mi obcy.