Hi Murdoc

ich habe mal bei einem ähnlichen Problem in das Programm an mehrere Stellen Anzeigen der LEDs eingebaut, einfach um zu sehen wann und ob wirklich ein Reset erfolgt. Wobei ich auch glaube, dass es ein ungewollter Reset ist.
Also z.B. so:
Code:
$regfile = "m32def.dat" 
 $framesize = 32 
 $swstack = 32 
 $hwstack = 32 
 $crystal = 16000000 
 $baud = 9600 

 Config Portb.0 = Output 
 Led_gruen Alias Portb.0                                    'grüne LED 
 Config Portb.1 = Output 
 Led_rot Alias Portb.1                                      'rote LED 

 Config Portc.2 = Output 
 Mo1_1 Alias Portc.2 
 Config Portc.3 = Output 
 Mo1_2 Alias Portc.3 
 Config Portc.4 = Output 
 Mo1_3 Alias Portc.4 
 Config Portc.5 = Output 
 Mo1_4 Alias Portc.5 

 Config Pind.4 = Output                                     'OC1B, PWM-Ausgang 
 Config Pind.5 = Output                                     'OC1A, PWM-Ausgang 

 Config Timer1 = Pwm , Pwm = 9 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8 

 Pwm1a = 0 
 Pwm1b = 0 

 Dim I As Integer 

 Led_gruen=1
wait 1
 Led_gruen =0


 Do 

 I = 0 

 Mo1_1 = 0 
 Mo1_2 = 1 
 Mo1_3 = 0 
 Mo1_4 = 1 

 Do 
    Pwm1b = I 

    Waitms 40 
    I = I + 5 
 Loop Until I > 500 

Led_rot =1
wait 1
led_rot =0
 Wait 10 

 Do 
    Pwm1b = I 

    Waitms 40 
    I = I - 5 
 Loop Until I < 10 

 Pwm1b = 0 
 Led_rot=1
wait 3
 Led_rot=0
 Wait 10 

 Loop

und dann würde ich auch mal versuchsweise mit Pwm1b nicht ganz nach oben gehen, sondern nur so weit bis der Motor läuft und gucken was bei niedriger Leistung passiert.


Grüsse

Christian