Hallo,
ich habe ein Problem bei einem aktuellen Projekt.
Wenn es fertig ist soll es ein empfänger für eine NEC Protokoll FB sein.
Um die Codes, laufzeit usw. der FB herauszufinden vesuche ich den Tiny25
so zu programmiert, dass er mir die Zeiten zwischen einem Flankenwechsel
am PB0 (hier hängt der TSOP34838 drann) sendet.
Ansonsten ist PB1 mit dem TX auf dem STK500 verbunden, PB3 mit XT1 (8MHZ
crystal), PB5 mit RST. Der Rest ist nicht verbunden.
Der Code ist im Anhang
Wenn ich nun was auf der FB drück sendet er grundsätzlich die richtigen
Daten (140=9ms; 70=4,5ms; 35=2,25ms; 26=1,6875ms; 8=562,5µs).
Bsp:
110 000 141 000 069 009 009 009 008 010 008 010 008 009 008 010 008
009 008 010 008 009 026 010 025 010 026 009 026 010 025 010 025 010 025
010 026 009 026 009 008 010 008 010 008 009 026 010 008 009 008 010 008
009 008 010 026 009 026 009 026 009 008 010 026 009 026 010 025 010
000
Die 110 am anfang fällt weg da es ein zufallswert ist.
141 ist das Sync Signal.
69 das Datensignal.
Dann eben die Daten.
Was mich nun stört sind die kursiven 000 die immer kommen wenn länger
kein Flankenwechsel stattgefunden hat.
Sie kommen nicht aus der PC Interrupt Routine, ich habe die einfach
schonmal einen fortlaufenden wert schreiben lassen bei jedem aufruf und
nach den 000 ging der Wert normal weiter (... 005 000 006 ...).
Aber woher kommen die Nuller??? Ich bin echt ratlos und einen Fehler im
Code finde ich jetzt seit 2 Tagen suche nicht.
Bitte helft mir, ich verzweifle!