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.stimmt das in etwa ?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
mfg
Lesezeichen