Ja.hat der M32 wirklich PWM-Kanäle auf D.4 und D.5 ?
So ,nach langem Probieren klappt es endlich.
Hier mein Code.Mit Kanal 1 fahre ich vor und zurück und mit dazugeschaltetem Kanal 2 drehe ich links und rechts.
Code:$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 32 $framesize = 32 Config Portd.7 = Output Config Pind.2 = Input ' Signal 1(a) vom RC-Empfänger Config Pind.3 = Input ' Signal 2(b) vom RC-Empfänger Config Portc.6 = Output 'Motor links Config Portc.7 = Output 'Motor links Config Portb.0 = Output 'Motor rechts Config Portb.1 = Output 'Motor rechts Config Portd.4 = Output 'PWM links Config Portd.5 = Output 'PWM rechts Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8 Dim Drehrichtung As Word Dim Geschwindigkeit As Word Dim Schub As Word Dim Gerade As Word Dim Lala As Word Declare Sub Motorsteuerung Sound Portd.7 , 400 , 450 Sound Portd.7 , 400 , 250 Sound Portd.7 , 400 , 450 Wait 2 Do Pulsein Geschwindigkeit , Pind , 2 , 1 'vor / zurück Pulsein Drehrichtung , Pind , 3 , 1 'links / rechts Call Motorsteuerung Loop End Sub Motorsteuerung Select Case Geschwindigkeit Case 90 To 140 Schub = 650 Gerade = 8 Print "Vorwärts" Case 160 To 200 Schub = 650 Gerade = 2 Print "Rückwärts" Case Else Schub = 0 Print "Stop" End Select Select Case Drehrichtung Case 90 To 140 Portc.6 = 1 Portc.7 = 0 Portb.0 = 1 Portb.1 = 0 Lala = Schub + 100 Pwm1a = Lala Pwm1b = Lala Case 160 To 200 Portc.6 = 0 Portc.7 = 1 Portb.0 = 0 Portb.1 = 1 Lala = Schub + 100 Pwm1a = Lala Pwm1b = Lala Case Else Select Case Gerade Case 8 Portc.6 = 0 Portc.7 = 1 Portb.0 = 1 Portb.1 = 0 Pwm1a = Schub Pwm1b = Schub Case 2 Portc.6 = 1 Portc.7 = 0 Portb.0 = 0 Portb.1 = 1 Pwm1a = Schub Pwm1b = Schub Case Else Portc.6 = 0 Portc.7 = 0 Portb.0 = 0 Portb.1 = 0 Pwm1a = Schub Pwm1b = Schub End Select End Select End Sub






Zitieren

Lesezeichen