Mam następujący problem: Muszę odebrać 80 znaków z potru szeregowego w 2313, i tylko niektóre z nich są mi potrzebne. Jak odbrać np. znaki od 5 do 10 i zapisać je do jednej zmiennej, a potem porównać to z innymi znakami(sprawdzić czy te odebrane są identyczne ze znakami do których je porównuje).
obługa portu szeregowego w Bascomie
Sep 06, 2004
3 Replies
ogi napisał(a):
moze sie czepiam ale jak chcesz wpisac 5 bajtow do jednego???
Powitanko,
Nie wiem jak w AVR, ale w 51 zrobilbym tak: Dim ciagznakow as string*80 (sprawdz jaki moze byc max string, obawiam sie, ze krotszy) Input ?, ciagznakow Potem zobacz polecenia: Mid i Len Do porownania to np. select case moga sie przydac Zreszta help jest po polsku do Bascoma wiec szukajcie a znajdziecie;-) Pozdroofka, Pawel Chorzempa
Ja zrobiłbym to tak:
Config Serialin = Buffered , Size = 80 dim licznik as byte dim tekst as string*5 dim temp as byte const stala="qwert"
FOR licznik=1 TO 4 'pomijamy 4 pierwszych znakow tekst(1)=inkey() 'ewentualnie waitkey() NEXT licznik for licznik=1 to 5 tekst(licznik)=inkey() 'zapisujemy w test od 5 znaku do 10 next licznik for licznik=1 to 70 temp=inkey() next licznik if stala=tekst then 'Tutaj to co ma się dziac end if
Tylko nie jestem pewien czy wystarczy Ci pamięci do buforowania 80 znaków, więc można zmniejszyć wielkość bufora o ile się da. Konrad
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required