Za komunikaciju sa fiskalnom kasom koristim sledeću strukturu okvira poruke koja se šalje na COM port:
polje sadržaj vrednost
(A)1 bajt identifikacija starta okvira 3
(B)1 bajt dužina okvira +32 38..96
(C)1 bajt Redni broj poruke (0 - 15) +32 32..47
(D) 0..58 bajtova Podaci koji se prenose okvirom 32..127
(E) 2 bajta Suma za proveru ispravnosti 32..95
(F) 1 bajt Identifikacija kraja okvira 4
Primer jedne poruke:
3 38 47 33 56 4
Objašnjenje za računanje:
"Suma za proveru ispravnosti okvira računa se na sledeći način: saberu se svi bajtovi okvira (osim poslednja tri, polja E i F) na nivou 12 bita (na pr. sabirati 16-bitno i na kraju očistiti najviša 4 bita); prvi bajt za proveru formira se tako što se na 6 značajnijih bitova iz 12-bitne sume doda 32; drugi bajt za proveru se dobija od 6 manje značajnih bitova zbira na koje se takođe doda 32; na ovaj način je obezbeđeno da bajtovi za proveru sadrže samo vrednosti iz opsega 32-95."
Pitanje:
Kako uz pomoć gornjeg objašnjenja dobijam od 3 38 47 brojeve 33 56 ?