Hallo,
ich habe ein Problem mit dem Quellcode (siehe unten). Wenn ich den Servo, der in dem Code konfiguriert ist rausnehme, also Config Servo entferne und die Servo(1) = Anweisungen rausnehme funktioniert der Code einwandfrei !
Der Timer läuft mit der gewünschten Frequenz und auch die Wait-Befehle funktionieren richtig.
Wenn ich nun den Servo dazu nehme, dann funktioniert auch der Timer und alles, aber die Wait-Befehle brauchen nicht gerade unwesentlich länger. Bestimmt 4 bis 5mal so lang.
Woran liegt das ?
Code:$regfile = "M16def.dat" $crystal = 2000000 $baud = 9600 Config Portb = Output Portb.0 = 1 Config Pina.5 = Output Config Servos = 1 , Servo1 = Porta.5 , Reload = 10 Dim Sservorichtung As Byte : Sservorichtung = 2 Dim Sensorservo As Byte : Sensorservo = 25 Servo(1) = Sensorservo Config Timer1 = Timer , Prescale = 64 Enable Timer1 On Timer1 Sensor_abfrage Enable Interrupts Timer1 = 34285 Wait 5 Print "aM-1" : Waitms 10 Print "c1HF" Print "aM-4" : Waitms 10 Print "c3HF" : Waitms 425 Do Print "aM-1" : Waitms 10 Print "c2RF" Print "aM-3" : Waitms 10 Loop Sensor_abfrage: Timer1 = 34285 If Sensorservo > 58 Then Sservorichtung = 1 If Sensorservo < 26 Then Sservorichtung = 2 If Sservorichtung = 1 Then Sensorservo = Sensorservo - 5 If Sservorichtung = 2 Then Sensorservo = Sensorservo + 5 Servo(1) = Sensorservo Return







Zitieren

Lesezeichen