
| Parameter: | Decoder-Adressfeld | 9/12/15/18 Bit |
| Typ-Kennung | "1110.00" | |
| zu lesender Konfigurationsstring | 10 Bit | |
| erstes zu lesendes Element | 6 Bit | |
| Anzahl zu lesender Elemente | 2 Bit (00 -> 1 Byte, 01 -> 2 Bytes, 10 -> 4 Bytes) | |
| Gesamtlänge: | 33 Bit + CRC8 bei 9Bit-Adressfeldformat | |
| |
| Im oberen Bild sieht man das von der Zentrale ausgesendete READ-Paket mit den Taktimpulsen für ein 1-Byte-Lesen. |
|
/************************************************************/
int crc = 0xff; // CRC-Register vorbelegen
for (i=0; i<datlen; i++) { // alle Datenbytes einsammeln
crc ^= (crc << 1) ^ (crc << 2) ^ *daten;
if (crc & 0x100) crc ^= 0x107;
if (crc & 0x200) crc ^= 0x20e;
}
crc ^= *daten; // mit Prüfsumme vergleichen
/************************************************************/