Hi,
hab mir deine Libs jetzt mal angeschaut und teilweise versteh ichs auch.
Nur zum Verständniss: Du kannst dir da die einzelnen Werte aus der Union wieder rausziehen weil bei einer Union ja die einzelnen Werte übereinander auf dem selben Speicherplatz liegen. Somit ist dcf77_t.bits und die geschachtelte Struktur übereinander. Stimmt das so?
Aber leider ist mir nicht ganz klar, wie du die empfangenen Informationen in dcf77_t.bits reinschiebst.
Das hier müsste ja eine Pausenerkennung sein:
Wird eine 0 erkannt weist du dcfbit = 0b00000000 zu. (Warum? dcfbit hat doch nichts mit dcf77_t.bits zu tun)Code:if ((duration > (PAUSE_900MS - PAUSE_DEVIATION)) && (duration < (PAUSE_900MS + PAUSE_DEVIATION))) { dcfbit = BIT_0; dcfstream.bits &= ~bitstream_mask; bitstream_mask <<= 1;
Die nächsten zwei Zeilen mit dcfstream.bits und bitstream_mask sind mir vollkommen unklar. Woher kommen die 2 Variablen?
Was die zwei Zeilen ausführen hoff ich verstanden zu haben:
dcfstream.bits &= ~bitstream_mask;
UND - Verknüpfung von dcfstream.bits und invertiertem bitstream_mask
bitstream_mask <<= 1;
bitstream_mask um 1 nach links schieben und in bitstream_mask speichern
Danke schonmal für die Hilfe







Zitieren

Lesezeichen