Výpočet CRC (assembler pro PIC)

Bylo by možné poskytnout zdrojový kod (assembler pro 8 bit PIC)
výpočtu CRC16 - CCITT,XModem,0x1021 (polynom x16+x12+x5+1),
jenž by se počítal z řetězce Hex znaků ?
(např. PIC 16F628, vstup do uC PIC USART - 115 200,None,8,1).

Příklad:
Řetězec: 01001BFF39
CRC: 0xBD46

Byl by někdo ochoten (za úplatu) mi programovat dle zadání
sekvence ködu pro PIC ?


Info:
Asm výpočtu CRC mi již funguje.

proč tady zakládáš dvakrát to samé vlákno ???

No tak toto by som chcel vidiet v asmbleri…

A C to preloží do čeho??

Napřed do asm a pak do HEX… :smiley:

Zdravím.
Využijem už jestvujúcu tému a síce nie v asm. ale v c.
Prenášam dáta ,konkrétne reťazec o dĺžke 20 znakov,z jedného na druhé MCU PIC 16F628A.
Na prenos používam bezdrôtové moduly a chcem pravdivosť priatých dát zabezpečiť kontrolným CRC súčtom.
Niečo hotové som našiel na:

microchipc.com/sourcecode/#crc

[code]Excellent CRC code.

// Update the CRC for transmitted and received data using
// the CCITT 16bit algorithm (X^16 + X^12 + X^5 + 1).
unsigned char ser_data;
static unsigned int crc;
crc = (unsigned char)(crc >> 8) | (crc << 8);
crc ^= ser_data;
crc ^= (unsigned char)(crc & 0xff) >> 4;
crc ^= (crc << 8) << 4;
crc ^= ((crc & 0xff) << 4) << 1;[/code]
Neviem však ako túto funkciu použiť na výpočet CRC.
Viete mi prosím poradiť?
Niečo som čítal,ale zatiaľ som vedľa.
Relatko.

Já jsem měl v jedné aplikaci na jednom DPS kvůli nedostatku noh 2x PIC v DIL40. Jednoduše nebylo nic jinýho rychle sehnatelnýho.
PICy jsem měl mezi sebou propojený UARTem.
CRC jsem pořešil hodně jednoduše, sice mi nezajistilo samoopravnost přijatých dat, ale bezpečně jsem poznal ty špatný.

Poslal jsem 2 různý znaky a zakódoval jsem je hodně jednoduše pomocí XOR a nějakýho jinýho čísla. PIC, kterej zprávu přijal, provedl XOR stejným klíčem a pro potvrzení poslal zprávu nazpět zakódovanou jiným způsobem, konkrétně jsem tam udělal negaci těch dvou znaků a XOR jiným číslem.

PIC který odeslal data čekal na odpověď, když nepřišla do 6ms, tak posílal data znovu a čekal na odpověď, dokud se nedočkal :smiley: .

Tenhle jednoduchej systém se mi dost osvědčil, PICy si spolem už půl roku povídají a aplikace zatím správně funguje. Hned vedle té desky je 30kW frekvenčn měnič, který při plné zátěži rozsvědcoval LEDky na jiné elektronice, která byla úplně bez napájení.