Re: Výpočet CRC u Dallas teploměru DS18S20
Pavel
hw@itherm.cz
Úterý Leden 12 12:38:27 CET 2010
Výpočet CRC u Dallas teploměru DS18S20dole je primo to co mam ve svych
programech.
do W se vkladaji hodnoty
v CRC pak mate vysledek.
Pavel
movwf crctmp ; Save byte
movlw 8 ; 8 bits
movwf crccit ; store counter
movf crctmp,w ; byte to W
CRC8_L1 xorwf crc,w ; xor
movwf del1 ; temp store
rrf del1,w
movf crc,w ; fetch last CRC
skpnc ; if not C, skip
xorlw 0x18 ; xor with fixed
movwf crc ; store new CRC
rrf crc,f ; update new CRC
clrc ; clear carry
rrf crctmp,f ; next bit
movf crctmp,w
decfsz crccit,f ; count bits
goto CRC8_L1 ;
return
----- Original Message -----
From: Kručinský Ladislav
To: HW-news
Sent: Tuesday, January 12, 2010 11:01 AM
Subject: Výpočet CRC u Dallas teploměru DS18S20
Zdravíčko kolegové.
Trápím se tady s výpočtem CRC v procesoru PIC - ačkoliv jsem si stáhl
Aplikační listy jak od Dallasu tak i od Microchipu, nejsem nějak 100
pochopit algoritmus výpočtu pomocí posouvání registru. Nemám kapacitu abych
to řešil tabulkou (je potřeba 256 registrů) a tak tady čmárám po
čtverečkovaných papírech jedničky a nuly a nevychází mi to. Respektive - ze
čtyř Dallas čipů jsem si vyčetl ROM se sériovým číslem, číslem rodiny a CRC.
U dvou mi výpočet funguje, u dvou nikoliv.
Nechci prudit celou konferu ukázkami algoritmu, nedělali jste to někdo v PIC
assembleru ideálně pro PIC16F676 a pod ? Nechci celý program, jenom bych rád
věděl kde to vorám...
Zdravím
Ing. Ladislav Kručinský
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
More information about the Hw-list
mailing list