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