ich habe mittlerweile das Programm entkernt und auf das Wesentliche reduziert, doch das Problem hab ich noch nicht lösen können, habe aber versucht mit diesem Code zu erkennen was da passiert .
Der Timer1 zählt runter und bleibt bei 0 einfach stehen ?!
warum bleibt der Timer einfach stehen ?Code:$hwstack = 64 $swstack = 64 $framesize = 64 $regfile = "m128def.dat" $crystal = 16000000 'enter the used clock of your actual microcontroller $baud = 38400 Dim Timer1reload As Integer Dim Test As Integer Config Portb.7 = Output ' ein paar LED´s zur Kontrolle 'Config Timer1 = Timer , Prescale = 64 , Compare C = Toggle ' 2. Achse 'On Compare1c Compare_1c_int 'On Ovf1 Overf_1_int 'Enable Compare1c ' Enable the use of Timer2 'Start Timer1 Tccr1a = &B00000100 ' Compare Output Mode for Channel C Tccr1b = &B00001011 ' ctc Mode 4 , 64 * precaler Tccr1c = &B00000000 'Bit 5 – FOCnC: Force Output Compare for Channel C Etifr = &B00000001 'Bit 0 – OCF1C: Timer/Counter1, Output Compare C Match Flag Etimsk = &B00000001 ' Bit 0 – OCIE1C: Timer/Counter1, Output Compare C Match Interrupt Enable Ocr1ch = 42 ' capture Register high Ocr1cl = 42 ' capture Register low Config Timer3 = Timer , Prescale = 64 , Clear Timer = 1 , Compare A = Toggle ' 1. Achse 'On Compare3a Compare_3a_int ' When Timer3 = Compare3A register Enable Compare3a ' Disable the use of Timer3 Start Timer3 Compare3a = 500 ' Load the TimerLimit value into the Compare1A (OCR1A) register Timer1reload = 2000 Enable Interrupts Do Ocr1ch = Timer1reload 'Compare1c = Timer1reload Compare3a = Timer1reload Decr Timer1reload Print Chr(27) ; "[21;1H" ; " Timer1reload " ; Timer1reload ; " " ; Test Print Chr(27) ; "[22;1H" ; "Tccr1a Tccr1b Tccr1c Ocr1ch Ocr1cl PwmXn Timer" Print Chr(27) ; "[23;4H" ; Tccr1a ; " " ; Tccr1b ; " " ; Tccr1c ; " " ; Ocr1ch ; " " ; Ocr1cl ; " " ; Pwm1c ; " " ; Timer1 ; " " Print Chr(27) ; "[24;4H" ; Tccr3a ; " " ; Tccr3b ; " " ; Tccr3c ; " " ; Ocr3ah ; " " ; Ocr3al ; " " ; Pwm3a ; " " ; Timer3 ; " " Waitms 10 Loop End ' interruptroutinen zum test Compare_3a_int: Incr Test Toggle Porta.1 Return Overf_1_int: Incr Test Reset Etifr.0 Toggle Porta.1 Return Compare_1c_int: Incr Test Toggle Porta.1 Return
kann mir jemand einen entscheidenden Tipp geben ?
vielen dank
olby2







Zitieren

Lesezeichen