avr:crc16.h
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
avr:crc16.h [2013/09/18 09:02] – sdolt | avr:crc16.h [2013/09/18 09:10] (current) – sdolt | ||
---|---|---|---|
Line 5: | Line 5: | ||
===== Utilisation sur microprocesseur AVR ===== | ===== Utilisation sur microprocesseur AVR ===== | ||
- | La bibliothèque standard avr-libc possède des fonctions permettant de calculer rapidement certain type de CRC grâce au fichier d' | + | La bibliothèque standard avr-libc possède des fonctions permettant de calculer rapidement certain type de CRC grâce au fichier d' |
<code c> | <code c> | ||
Line 15: | Line 15: | ||
==== CRC pour OneWire ==== | ==== CRC pour OneWire ==== | ||
- | Le protocole OneWire utilise deux types de CRC, un sur 8 bits et l' | + | Le protocole OneWire utilise deux types de CRC, un sur 8 bits et l' |
=== DOW CRC8 === | === DOW CRC8 === | ||
Line 44: | Line 44: | ||
uint8_t make_crc8(void) | uint8_t make_crc8(void) | ||
{ | { | ||
- | uint8_t crc = 0, i; | + | uint8_t crc = 0 |
+ | uint8_t | ||
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> | ||
- | Contenu des 8 octets de la mémoire ROM, donc avec l' | + | |
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 = 0, i; | + | uint8_t crc = 0 |
+ | uint8_t | ||
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