Hi,

ich arbeite auch grade an der Auswertung von RC-Kanälen, ich habe
Dir mal ein paar Auszüge aus meinem Bascom-Programm beigefügt - das ganze Programm ist ellenlang und hat viele Inhalte, die nichts mit der RC-Auswertung zu tun haben.

Manches ist sicher noch optimierungsfähig, aber die Sache funktioniert!

Der RC-Kanal hängt an Portd.2, Portc hat LED´s von denen ich einige zur Statusanzeige nutze.

Masse vom Empfänger und Testboard müssen natürlich verbunden sein.

Wird der RC-Kanal abgesteckt, schlägt der Errorhandler zu...

Ist aber kein vollständiges Programm, Variablendeklarationen etc. fehlen!

Ich hoffe, es hilft Dir trotzdem weiter.

Viele Grüße

Torsten

Code:
'Timer 1 for RC-Channel measurement
Config Timer1 = Timer , Prescale = 1
'==========================================
' Interrupt Handlings
'==========================================
On Timer1 Read_error
Enable Interrupts


'==========================================
' Initializing Timers
'==========================================

Enable Timer1
Stop Timer1
Timer1 = 0

'==========================================
' Main Program Loop
'==========================================

do
'Jump to RC-channel subroutine
Enable Interrupts
Timer1 = 0
Start Timer1
Bitwait Pind.2 , Reset
Stop Timer1
Gosub Read_channel
Disable Interrupts


.....

Hier der Rest des Programms...
...


Loop


'RC-channel reading
Read_channel:
Timer1 = 0
Start Timer1
Bitwait Pind.2 , Set
Timer1 = 0
Bitwait Pind.2 , Reset
Stop Timer1
Error = 0
Toggle Portc.0
Return

'Error handler
Read_error:
Error = Error + 1
Timer1 = 0
While Error = 10
   Stop Timer1
   Portc.2 = 0
   Waitms 30
   Portc.2 = 1
   Waitms 200
Wend

Return