so was ich rausgefunden habe ist der pegel high .. habe es jetz mal soweit so gelöst timer1 für syncimpuls timer 0 für servoimpuls timer1 mit timervorgabe timer 0 mit prescaler da mir das gerade einfacher erschien. Wenn das Signal auf high geht wird auch timer 0 gestartet überläuft er war der iMpuls länger als 2.5 ms.
Code:
Dim Impulsdauer(3) As Word
Dim N As Byte
N = 1
Const Timervorgabe = 216
Config Timer1 = Timer , Prescale = 1
Config Timer0 = Timer , Prescale = 256
On Timer1 Timer_irq 'sync impuls bei overflow
Enable Timer1
Enable Timer0
Config Int1 = Change
On Int1 Flanke 'ISR bei Flankenwechsel
Enable Int1
Enable Interrupts
Do
Loop 'Hier läuft Dein Hauptprogramm
Flanke:
If Pinb.0 = 1 Then
Start Timer1
Start Timer0
Else
Stop Timer1
Stop Timer0
Impulsdauer(n) = Timer0
N = N + 1
End If
Return
Timer_irq:
Timer1 = 65496
N = 1 ' Wenn Timer überläuft handelt es sich um synchronisationsimpuls
Stop Timer0
Return
stimmt das in etwa ?
mfg
Lesezeichen