User Tools

Site Tools


avr:crc16.h

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
avr:crc16.h [2013/09/18 09:01] sdoltavr:crc16.h [2013/09/18 09:05] sdolt
Line 15: Line 15:
 ==== CRC pour OneWire ==== ==== CRC pour OneWire ====
  
-Le protocole OneWire utilise deux types de CRC, un sur 8 bits et l'autre sur 16 bits.+Le protocole OneWire utilise deux types de CRC, un sur 8 bits et l'autre sur 16 bits. Les deux types utilises une valeur initiale de 0.
  
 === DOW CRC8 === === DOW CRC8 ===
Line 39: Line 39:
 == Calcul du CRC == == Calcul du CRC ==
 <code c> <code c>
-    // Dallas iButton ROM without CRC+    // Contenu des 7 premiers octets de la mémoire ROM, donc sans l'octet CRC
     uint8_t serno[] = { 0x02, 0x1c, 0xb8, 0x01, 0, 0, 0 };     uint8_t serno[] = { 0x02, 0x1c, 0xb8, 0x01, 0, 0, 0 };
  
     uint8_t make_crc8(void)     uint8_t make_crc8(void)
     {     {
-        uint8_t crc = 0i;+        uint8_t crc = 0 
 +        uint8_t i;
  
         for (i = 0; i < sizeof serno / sizeof serno[0]; i++)         for (i = 0; i < sizeof serno / sizeof serno[0]; i++)
Line 54: Line 55:
 == Vérification du CRC == == Vérification du CRC ==
 <code c> <code c>
-    // Dallas iButton ROM with CRC+    // Contenu des 8 octets de la mémoire ROM, donc avec l'octet CRC
     uint8_t serno[] = { 0x02, 0x1c, 0xb8, 0x01, 0, 0, 0, 0xa2 };     uint8_t serno[] = { 0x02, 0x1c, 0xb8, 0x01, 0, 0, 0, 0xa2 };
  
     uint8_t check_crc8(void)     uint8_t check_crc8(void)
     {     {
-        uint8_t crc = 0i;+        uint8_t crc = 0 
 +        uint8_t i;
  
         for (i = 0; i < sizeof serno / sizeof serno[0]; i++)         for (i = 0; i < sizeof serno / sizeof serno[0]; i++)
avr/crc16.h.txt · Last modified: 2013/09/18 09:10 by sdolt