I am just starting to mess with interupts. Just to get a feel for how they work, I have the following code.
What I expected to happen was when I push the button on RB0, the led would light. when I let it go I wanted it to play a tone and then turn off the led. What I get is I push the button, and the LED is off. I release the button, the LED lights, the tone plays, and the LED turns off. What am I doing wrong. I know it is something simple.Code:LED VAR PORTD.0 PB VAR PORTB.0 TONE VAR PORTC.3 CTONESET VAR BIT loop1 Var BYTE TRISD = %00000000 TRISB = %00000001 INTCON = %10010000 DEFINE OSC 10 ON INTERRUPT Goto MyInt INTCON = $90 mainloop: if PB = 1 then IF CTONESET=1 then FOR loop1 = 0 to 500 pause 1 Next loop1 gosub CTone LED = 0 For loop1 = 0 to 1000 pause 1 next loop1 endif endif goto mainloop CTONE: Sound Tone,[88,7,91,7,99,7] CToneSet=0 return disable Myint: led = 1 CToneSet = 1 INTCON.1=0 resume end
Thanks!


						
					
				
				
				
				
			

Bookmarks