ZPA Ukazovací a registrační přístroje

| Kategorie: Leták / Datasheet Návody k obsluze  | Tento dokument chci!

Katalogové listy a montážní návody

Vydal: ZPA Nová Paka, a.s. Autor: ZPA NP

Strana 429 z 842

Vámi hledaný text obsahuje tato stránku dokumentu který není autorem určen k veřejnému šíření.







Poznámky redaktora
*/ kontrolní součet *p++; jestliže(lichá){ Když datová délka lichá */ sjednocený tmp{ Vložka přidat zkráceným datům bez znaménka. Vzorový program Součtová hodnota určí následujícím vzorovým určený vzorovým programem může porovnat se datovým součtem úseku výstupu binárního zápatí.s; } jestliže((kontr. /* * Funkce výpočtu součtu (pro 32-bitovou CPU) * * Vyrovnávací paměť parametrů Ukazatel vrchol dat, nichž počítá součet.délka) { zkrácený bez znaménka *p; Ukazatel další dvoubytové datové slovo vyrovn. unsigned csumj Checksum value *f in ; in odd; csum itia liz */ odd len'2; Check whether not the number ofdata points even. (1) (6) se sečtou jako dvoubytová celá čísla bez znaménka (krátká čísla bez znaménka). */ if(odd)i When the data length odd *J union tmp{ Pad with and add the unsigned short data.paměť; pro(i=0;i<len;i++) Součet použitím druhu zkrácených dat bez znaménka.paměť, celočísel. Nakonec výsledek bitech invertuje. Vyrovnávací pam které počítá hodnota součtu • Pro součet záhlaví vypočítá “datové délky příznak identifikátor” (pevně bytů).e[l] Of tmp.1 Syntax odezvy Výpočet součtové hodnoty Když parametr povelu nastaven “1,” výstup hodnot kontrolního součtu provádí pouze během sériových komunikací. * len Délka dat, nichž počítá součet. Kontrolní součet stejný jako TCP/IP odvozen podle následujícího algoritmu. *i p (unsigned short fo r{i=a;i<Len;i++) csum *p++j /* Sum using unsigned short data type.cIO] *((unsigned char *)p); csura tmp.součet 0xffff) + ((kontr. Součet součtem záhlaví úseku výstupu binárního záhlaví a VIZ ORIGINAL Sum Calculation Function (for 32-bit CPU) ; Parameter buff : len : Returned value Pointer the top the data which the sum calculated Length the data which the sum calculated Calculated sum in cksum(unsigned char *buff, len) { unsigned short *p; Pointer the next tsre-byte data word tbs buffer that sumed.P-355333 PŘÍRUČKA UŽIVATELE KOMUNIKAČNÍHO ROZHRANÍ TYP 559 6. */ len >>= Určete počet datových bodů použitím „zkráceného“ typu dat.součet >>16) 0xffff)) 0xffff) /* Přidat přebývající číslice */ kontr.součet) 0xffff); bitová inverze */ } programem vrátí vypočítaný výsledek.paměti, která se má sečíst. *! unsigned short s; unsigned char [2]; Jt-rp; tm p.součet 0xffff; Jestliže opět přebývá číslice, přidejte */ návrat ((-kontr. • Pro součet dat vypočítá “Binárních dat. */ p (zkrácené bez znaménka vyrovn.c[0] *(( znak bez znaménka *)p); kontrolní součet tmp. i; celé liché číslo; kontrolní součet Inicializovat. */ zkrácená bez znaménka s; znak bez znaménka c[2]; } tmp; tmp.” 1byla výplň T~ <0 <2> (3} {4) (5) Jestliže datová délka vyrovnávací paměti lichá, použije výplň “0”, takže stane sudou. Pokud číslice přebývá, přidá se“1”.součet kontr. * Vrácená hodnota Vypočítaný součet */ celočíselný kontrolní součet (znak bez znaménka *vyrovn. */ Celočísel.c[1] 0; tmp.s; ifiicsum (csu* Oxffff) 4(C5um»16) Dxffff)) Qxffff) f* Add the overflowed its */ csura csum Oxffff; the overflows again, add *t return((-»csum) Oxffff); inversion *! 6-4 132/176 . */ len Determine the number data points using "short' data type.kontrolní součet bez znaménka; Hodnota kontrolního součtu */ celočísel.součet (kontr. */ lichá délka%2; Zkontrolujte, zda počet datových bodů sudý nikoli