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






Zitieren


Lesezeichen