I prodotti Maxim iButton sono una famiglia di dispositivi che comunicano tutti su un solo filo con il protocollo 1-Wire, ogni dispositivo ha un codice univoco di 8 byte. Il byte meno significativo (letto per primo) identifica il tipo di prodotto (family code), i successivi 6 byte contengono il numero seriale (indirizzo dispositivo), il byte più significativo (letto per ultimo) è il cyclic redundancy check (CRC).
Utilizzando una comunicazione seriale ad indirizzamento è possibile collegare in parallelo (Su un unico bus) più dispositivi come le sonde di temperatura One-Wire della Sensit. Ma è possibile anche utilizzare TAG di riconoscimento per controllo accessi ed una gamma di altri prodotti commerciali. L’acquisizione avviene con un adattatore 1-Wire a RS232 connesso alla porta seriale o collegando il dispositivo al terminale Picoface (Supporta 1 solo dispositivo).
Per la lettura dei dispositivi da noi commercializzati forniamo delle librerie già pronte, venendo dietro alla tua richiesta ho estrapolato dalla libreria ePLC1WireLib la funzione OWCRC8Calc che esegue il calcolo del CRC. Ecco il programma OWCRCCalculation (stampa e download) che esegue il calcolo del CRC.