Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Cordova + BLE
#2
Seriska veza je vrsta asinhrone komunikacije, to znaci da u sustini ti ne znas ni kad je pocetak ni kraj prenosa osim ako ti ne osmislis interno neki svoj protokol.
(ne diskutujem o samom fizickom prenosu jednog bita, to sve radi interno HW UART modul, pricam o nizu karaktera).

Cekanje nekog karaktera (\r ili \n) je u sustini OK sve dok baratas ASCII karakterima, cim krenes da baratas binarnim (0x00 - 0xFF) podacima onda krecu problemi jer taj stop karakter moze da se pojavi kao deo podatka ...

Takodje se tu pojavljuju problemi koji su vezani sa sam tvoj program a najvise je oko \0 (null karakter) sto njega ne mozes da preneses u ASCI formatu jer \0 oznacava kraj stringa i sve posle toga se ignorise ukoliko operises stringovima (nizom karaktera).

Timeout delay je jedno od resenja da se "sinhronizujes", dakle ako ti za npr 100ms ne stigne sledeci podatak (sledeci bajt) onda progrlasavas timeout i postavljas kraj komunikacije tj cekas nov pocetak ...
Drugo resenje je da imas specificirane duzine podataka koje ocekujes, recimo uvek cekas 8 bajtova i u saradnji sa timeout onda arbitriras pocetkom i krajem prenosa.

Ovo su generalne stvari oko seriske veze, nevezano koji program to obraduje u pozadini, Cordova/JS, C++ i ostalo ne pravi nikakvu razliku, sve mora da radi po istom principu seriske komunikacije.
Reply


Messages In This Thread
Cordova + BLE - by vsavic - 04-28-2017, 07:41 PM
RE: Cordova + BLE - by mikikg - 04-28-2017, 10:44 PM
RE: Cordova + BLE - by mikikg - 04-28-2017, 11:16 PM
RE: Cordova + BLE - by gorankg - 04-28-2017, 11:33 PM
RE: Cordova + BLE - by mikikg - 04-28-2017, 11:46 PM
RE: Cordova + BLE - by vsavic - 04-29-2017, 02:44 AM
RE: Cordova + BLE - by mikikg - 04-29-2017, 06:53 AM
RE: Cordova + BLE - by vsavic - 04-29-2017, 03:26 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)