Program irasban kerek segitseget!

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Lezárt
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A sztringet ne INPUTként olvasd be, hanem bufferelt soros és inkey-l vizsgáld....
Avatar
norbi
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2006. augusztus 3. csütörtök, 6:00

Hozzászólás Szerző: norbi »

Nem írtam, de nem RS232-ről olvastam be az adatot, hanem ez egy adat, ami a packet() tartalma, vagyis érkezik egy parancs egy szerverről, s azt dolgozom fel, s ha itt a line feed, akkor új sor jön, erre kell figyeljek!

Vagyis adott az &H0A ami sztingként van eltárolva(így egyszerűbb feldolgozni aza adatokat, mivel vannak benne parancsok is).

De ha nincs erre a megfeleltetésre mód, akkor felt.vizsgálat előtt vissza alakítom...csak helyet akartam megspórolni, hogy ne kelljen oda-vissza alakítgatni!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Innen tessék csomagba rakni és ha ENTER jön, akkor az az _előtti_ 10-30 karaktert tekintheted csomagnak....

Erre a buffer tökéletes megoldás:). Persze CRC kell bele...
Avatar
norbi
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2006. augusztus 3. csütörtök, 6:00

Hozzászólás Szerző: norbi »

Pontosan ugyenezt csináltam, a TCP csomagból külön sztringbe pakoltam a hasznos adarészt, vagyisaz 55.byte-tól felfelé. Eddig ok is minden, a parancsok és értékek benne is vannak sztingben, ellenőriztem.

Figyelnem kell a szóközökre, "="-jelekre és enterkre, parancsokra és értékekre.
Meg is írtam a programot, ami értelmezi ezeket, kivétel az enteres részt, vagyis mivel karakterként vannak a szringben, igy a csomag tartalmát nem tudom úgy figyelni, hogy:

if _csomag=&H0a then

Ezért kérdeztem, hogy hogyan lehet Bascomban megoldani azt, hogy egy sztringben ne a karakterre figyeljek, hanem annak hex-kódjára!?

Mert lehet azt is, hogy ennél a fázisnál a "_csomag"-ot vissza alakítom, de az plussz hely és legalább 1sor... :lol:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

If chr(karakterkod)=...

Illetve a CHR fuggveny parja, az ASC is bejatszhat.
Avatar
norbi
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2006. augusztus 3. csütörtök, 6:00

Hozzászólás Szerző: norbi »

Ez így nem lesz jó sajnos, ezért írtam az elején, hogy ezt próbáltam

Kód: Egész kijelölése

 dim _csomag as string*1 
if _csomag=chr(&h0a) 
de nem ment :cry:

Itt a _csomag tartalma nem az egész beolvasott tömb, csak egyenként végiglépkedve egy sztring van mindig benne, amit épp vizsgálok.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Ez sajnos Bascom nem C!
Itt így kel :

Kód: Egész kijelölése

dim _csomag as string*1 , Temp_char as string*1

Temp_char = chr(&h0a)
if _csomag = Temp_char then

end if
:)
Avatar
norbi
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2006. augusztus 3. csütörtök, 6:00

Hozzászólás Szerző: norbi »

Köszi!

Pont ezt (vagy van még egy másik lehetőség is) a plussz 1 sort akartam elkerülni! 8)
Lezárt