Librerie per il calcolo del CRC16 e CRC32

questa è la versione originale, con la lunghezza:

//CRC-8 - algoritmo basato sulle formule di CRC-8 di Dallas/Maxim 
byte CRC8(const byte *data, byte len) {
    byte crc = 0x00;

    while (len--) {
        byte extract = *data++;
        for (byte tempI = 8; tempI; tempI--) {
            byte sum = (crc ^ extract) & 0x01;
            crc >>= 1;
            if (sum) {
                crc ^= 0x8C;
            }
            extract >>= 1;
        }
    }
    return crc;
}

Se provate con diversi vettori, anche che contengono 0 nei loro elementi, avrete gli stessi risultati fra questa e quella che non vuole la lunghezza dell'array. Poi se trovate un errore a me fa piacere:

  1. imparo e la prox volta non o commetto
  2. sistemiamo insieme questa funzione
    Entrambe sono nello spirito dell'open source, non prendo queste critiche male, anzi :wink: