12-09-2017, 11:37 AM
Milane,
tebi treba custom protokol izmedju racunara i uredjaja. Goran ti je lepo rekao kako to da uradis. Na osnovu tog primera mozes da implementiras bilo koju komandu. Npr.:
> Komanda BrojBajtovaKojiSeSalje Bajtovi CRC <
Svaka poruka ti pocinje sa >, a zavrsava se sa manje. To ti definise header. Unutar header-a imas naziv komande (prvi bajt), ukupan broj bajtova koji se salje (i ocekuje na prijemnoj strani), korisni bajtovi i CRC na kraju. Mozes da pogledas i MODBUS, pa na uzoru na njega da napravis svoj protokol.
Evo ti primera:
1. > P 0x00 CRC < - Pauza. Poruka pocinje sa P, broj korisnih bajtova koji se salje je 0 (moze da bude i podatak, tj. trajanje pause u ms ili s) i CRC. Poruka se zavrsava sa <.
2. > S 0x02 0x00 0xFF CRC < - Posesi brzinu. S-speed. Salju se dva korisna koji predstavljaju brzinu u um/s ili nekim drugim jedinicama i CRC na kraju.
3......
Svaka poruka mora da ima i odgovor. Npr. Ako si ispravno primio i parsirao neku poruku, onda vratis >OK;P< - ovo je primer za OK ispravno primljene poruke za pauzu. >OK;S< ispravno primljena poruka za podesavanje brzine itd. Ili, >ERR;P< pogresno primljena ili parsirana poruka za pauzu.
Pored ovoga moras da imas i time-out komunikacije. Sva poruka mora da ti stigne za odredjeno vreme inace terminises poruku i cekas novu. Sve poruke smestas u kruzni bafer i parsiras.
To je ukratko. Ukoliko treba jos nesto pojasniti, javi.
tebi treba custom protokol izmedju racunara i uredjaja. Goran ti je lepo rekao kako to da uradis. Na osnovu tog primera mozes da implementiras bilo koju komandu. Npr.:
> Komanda BrojBajtovaKojiSeSalje Bajtovi CRC <
Svaka poruka ti pocinje sa >, a zavrsava se sa manje. To ti definise header. Unutar header-a imas naziv komande (prvi bajt), ukupan broj bajtova koji se salje (i ocekuje na prijemnoj strani), korisni bajtovi i CRC na kraju. Mozes da pogledas i MODBUS, pa na uzoru na njega da napravis svoj protokol.
Evo ti primera:
1. > P 0x00 CRC < - Pauza. Poruka pocinje sa P, broj korisnih bajtova koji se salje je 0 (moze da bude i podatak, tj. trajanje pause u ms ili s) i CRC. Poruka se zavrsava sa <.
2. > S 0x02 0x00 0xFF CRC < - Posesi brzinu. S-speed. Salju se dva korisna koji predstavljaju brzinu u um/s ili nekim drugim jedinicama i CRC na kraju.
3......
Svaka poruka mora da ima i odgovor. Npr. Ako si ispravno primio i parsirao neku poruku, onda vratis >OK;P< - ovo je primer za OK ispravno primljene poruke za pauzu. >OK;S< ispravno primljena poruka za podesavanje brzine itd. Ili, >ERR;P< pogresno primljena ili parsirana poruka za pauzu.
Pored ovoga moras da imas i time-out komunikacije. Sva poruka mora da ti stigne za odredjeno vreme inace terminises poruku i cekas novu. Sve poruke smestas u kruzni bafer i parsiras.
To je ukratko. Ukoliko treba jos nesto pojasniti, javi.