Code:
Sub1:
For I = 0 To 7
Lread1:
Enable Interrupts
Config Powermode = Idle 'PCINT0 ist aktiv, bei Flanke wird er geweckt und je nach auf-/absteigender Flanke Edge gesetzt
Disable Interrupts
If Flagbyte <> 1 Then '1 für Sub1, 2 für Sub2, ... 255 für Reset
Return
End If
If Edge = 1 Then
Goto Lread1
End If
Timer0 = 196
Start Timer0
Rotate Inputbyte, Right
Waitus 15
Inputbyte.7 = PINB.0
Next I
Stop Timer0
Return
Wobei auch ich den Empfang komplett in einer Timer_ISR erledigen würde. Ähnlich dem DCF Empfang.
Lesezeichen