Hallo Wasserkäfer,
bei meinem DCF77-Decoder für den RP6 ...
https://www.roboternetz.de/phpBB2/viewtopic.php?t=34240
... habe ich z.B. diesen uint64_t Typ für DCF77 genommen:
Da schiebe ich dann alle Bits des DCF-Telegramms rein und kann mir dann die einzelnen Werte (f. Stunde, Minute ...) da wieder rausziehen.Code:typedef union { uint64_t bits; // All DCF77 bits struct { unsigned weather : 15; // Bits 0..14: Coded weather info unsigned flags : 6; // R: Call bit 15 for PTB employees // A1: Announcement of a time zone change // Z1: Time zone 1 [0 = MEZ, 1 = MESZ] // Z2: Time zone 2 [1 = MEZ, 0 = MESZ] // A2: Announcement of a leap second // S: Start bit 20 (always 1) unsigned minute : 7; // 7 bits for the minute (BCD) unsigned bit_P1 : 1; // P1: Minute parity bit 28 unsigned hour : 6; // 6 bits for the hour (BCD) unsigned bit_P2 : 1; // P2: Hour parity bit 35 unsigned day : 6; // 6 bits for the day (BCD) unsigned weekday : 3; // 3 bits for the weekday unsigned month : 5; // 5 bits for the month (BCD) unsigned year : 8; // 8 bits for the year (BCD) unsigned bit_P3 : 1; // P3: Date parity bit 58 unsigned bit_59 : 1; // Leap second bit 59 (always 0) unsigned notused : 4; // Bits 60..63: Not used }; } dcf77_t;
Vielleicht wäre das auch was für dich. Sieh dir die Libs doch 'mal an.
Gruß Dirk







Zitieren

Lesezeichen