Hallo
Mit "ähnlich gut" meine ich, dass ein geringes, aber deutlich sichtbares Servozucken an den
Servos vorhanden ist, welche mit den eingelesenen RC-Signalen versorgt werden. Servos, denen ich im Programm einen Festwert zuweise, zucken nicht.
Die Verwendung des (NoSave-) Pinchange-Interrupts zum Einlesen halte ich auch für richtig, ich war nur zu faul es umzusetzen.
Was ihr weder in der Bascom- noch in der ASM-Version beachtet ist der Überlauf des Timers während der Impulsmessung. Hier schlummert möglicherweise auch mein Denkfehler:
Code:
'-------------------------------------------------------------------------------------------------------------
'Hauptprogramm starten
'-------------------------------------------------------------------------------------------------------------
Do
If Pina.7 = 1 And Empfangskanal_temp_ein(1) = 0 Then
Empfangskanal_temp_ein(1) = Timer1
End If
If Pina.7 = 0 And Empfangskanal_temp_ein(1) <> 0 Then
Empfangskanal_temp_aus(1) = Timer1
If Empfangskanal_temp_aus(1) > Empfangskanal_temp_ein(1) Then ' Wert nur gültig wenn kein Timerüberlauf
Empfangskanal(1) = Empfangskanal_temp_aus(1) - Empfangskanal_temp_ein(1)
End If
Empfangskanal_temp_ein(1) = 0
End If
If Empfangskanal(1) <> 0 Then Servo(1) = Empfangskanal(1) End If
Loop
End
Gruß
mic
Lesezeichen