1ms Abtastrate ist übertrieben, 10-50ms reichen.
Das obige Programm ist im Prinzip OK, aber es muss in einem Interrupt abgetastet werden.
Das Abtasten der Flanken macht eine Menge Probleme, das reale Signal des Empfängers sieht eben nicht so schön aus, da hat es eine Menge Störimpulse drauf, besonders bei Gewittern. Mit dem Abtasten, fallen da schon eine Menge der Störimpulse raus.
Wie im obigen Programm, macht man ein Blindfenster von etwa 700ms, in welchem gar nicht abgetastet wird, dann sieht man auch die Störungen nicht und muss diese auch nicht extra behandeln. Das Blindfenster endet etwa 50ms vor der Sekunde. Die Abtastung nimmt man nur während der 300ms vor.
Beim Starten muss man aber zuerst synchronisieren. Da wird dann dauernd abgetastet, bis man einen gültigen 100ms oder 200ms Impuls eingefangen hat.
Ich habe das zu DOS-Zeiten erstmalig für den IBM-PC gemacht. Der Treiber sass da im Timertick von DOS (18.7 Hz, wenn ich mich recht erinnere) und hat dann einfach die System-Uhr korrigiert.
MfG Peter(TOO)
Lesezeichen