jak policzyc crc dla flasha w avr

Witam Chcę policzyć sumę crc zawartości flasha w avr. W libc są do tego procedury np: crc16_update(..). Nie bardzo jednak wiem jak tą funkcje użyć do policzenia całego flasha. Czy mam dla każdej komórki wywołać crc16_update() i dodać wyniki do siebie?

Pozdrawiam Krzysztof Szmurło

Reply to
invalid unparseable
Loading thread data ...

Mon, 16 Jan 2006 15:18:07 +0100, na pl.misc.elektronika, Krzysztof Szmurło napisał(a):

Cześć Krzysztof. Prawie - tylko nie dodajesz a obrabiasz w pętli otrzymywany z funkcji wynik. Tak np. ustawiam crc16 dla bufora nadajnika uart ( ostatnie 2 bajty ) :

void SetTxCrc(void) { uint CrcCalcValue; int j;

CrcCalcValue = 0xffff; for (j=0;j<(TX_SIZE-2);j++) CrcCalcValue = _crc16_update(CrcCalcValue,TxBuffer[j]); memcpy((uchar*)&TxBuffer[TX_SIZE-2],(uchar*)&CrcCalcValue,2); }

U Ciebie zamiast bajtów TxBuffer będą kolejne bajty flasha.

Reply to
Jurek Szczesiul

Jurek Szczesiul napisał(a):

A też mi taka idea świtała w głowie, ale nie byłem jej pewien (jakoś się crc jeszcze nie miałem okazji bawić). W każdym razie dzięki wielkie za pomoc, jutro to przetestuje.

Pozdrawiam Krzysztof Szmurło

Reply to
Krzysztof Szmurło

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.