das Problem, wenn ich den Taster 1 oder 2 drücke sollen die Servos auf eine bestimmte position fahren, das machen sie zwar auch.
Wenn ich die taster jedoch längere Zeit drücke fahren die Servos wieder auf die ursprüngliche Position zurück.
Taster 1 an + und PORTB.0 angeschlossen
Taster 2 an + und PORTB.1 angeschlossen
Will damit irgenwann mal ein Freiflugmodell steuern, bin aber erst am Anfang meiner Programmierkarierre. Hab mal im Anhang noch eine Ausführliche funktiosbeschreibung falls es jemanden interessiert
Code:$regfile = "m168def.dat" $crystal = 16000000 'Quarzfrequenz $baud = 9600 $hwstack = 32 $framesize = 32 $swstack = 32 Dim Center11 As Byte Dim Center21 As Byte Dim Pos11 As Byte Dim Pos21 As Byte Center11 = 105 Pos11 = 30 Center21 = 125 Pos21 = 70 Servo config Config Servos = 2 , Servo1 = Portd.2 , Servo2 = Portc.1 , Reload = 10 Config Portd = Output Config Portc = Output Config Portb = Input Portb = &H04 'finally we must turn on the global interrupt Enable Interrupts 'ende Servo config Do If Pinb.0 = 1 Then Goto Glide If Pinb.1 = 1 Then Goto Glide If Pinb.0 = 0 Then Goto Bunt If Pinb.1 = 0 Then Goto Bunt End Loop Glide: Servo(1) = Center11 Servo(2) = Center21 Waitms 1000 Bunt: Servo(1) = Pos11 Servo(2) = Pos21 Waitms 1000 'Loop End 'end program







Zitieren

Lesezeichen