Re: Výpočet CRC u Dallas teploměru DS18S20
Martin Záruba
swz@volny.cz
Úterý Leden 12 11:25:00 CET 2010
Výpočet CRC u Dallas teploměru DS18S20Pokud by Vam stacil program pro x51 je zde:
Crcv:
push Acc ;save bits to be shifted
mov b,#8 ;set shift = 8 bits ;
crc2: xrl a,CRC ;calculate CRC
rrc a ;move it to the carry
mov a,CRC ;get the last CRC value
jnc nuldat ;skip if bit = 0
xrl a,#18H ;update the CRC value
nuldat: rrc a ;position the new CRC
mov CRC,a ;store the new CRC
pop Acc ;get the remaining bits
rr a ;position the next bit
push Acc ;save the remaining bits
djnz b,crc2 ;repeat for eight bits
pop Acc ;clean up the stack
ret
Martin Zaruba
----- 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
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20100112/0f1a359d/attachment.htm>
More information about the Hw-list
mailing list