Hello all,
I've been struggling with a, for a not-picbasic-newbie (which I am!), simple problem. I'm trying to let a LED blink on the overflow rate of timer0. Unfortunately I wasn't very succesfull.
When I run the following code (I know the LED won't blink with this, but that's step 2)
When I run it in debug mode, the compiler goes insane and gives me mismatched address errors after the timer didn't respond for some time (the watchdog timer is off, so it isn't him who's complainingCode:define loader_used 1 define osc 20 led var portc.1 ;LED is connected on PortC.1 wsave var byte $20 system ssave var byte bank0 system psave var byte bank0 system Goto main define INTHAND tmroverflow asm tmroverflow movwf wsave swapf STATUS, W clrf STATUS movwf ssave ;Interrupt movf PCLATH, W ;Routine movwf psave ;with Save function bsf _led ;Put on LED movf psave, W movwf PCLATH swapf ssave, W movwf STATUS swapf wsave, F swapf wsave, W bcf intcon,2 ;Clear Interrupt Flag retfie ENDASM main: INTCON = %10100000 ;GIE enabled, T0IE enabled OPTION_REG = %00000101 ;Prescaler on TMR0 rate 1:32 goto loop loop: goto loop ;Wait here for interrupt)
I think that my mistake is in the INTCON and/or the OPTION_REG, but experimenting with this values didn't helped me further neither.
The "save" function is O.K asfar as I can see, since it's straight out of the manual!!
All it need to do for step 1 is to light the LED...
So if someone sees the problem right away, and I'm sure there will be many, please help this desperate newbie! I will be very gratefull!
Cheers,
William


), simple problem. I'm trying to let a LED blink on the overflow rate of timer0. Unfortunately I wasn't very succesfull.
)



Bookmarks