You have to use "resume" at the end of ISRs and not "end". I'm guessing "resume" clears the interupt flag and passes variables back through the stack? Dpoe this thing even have a stack? --- In SynthModules@yahoogroups.com, "djbrow54" <davebr@e...> wrote: > --- In SynthModules@yahoogroups.com, "grantrichter2001" > <grichter@a...> wrote: > > Dave, > > > > See syncable.bas in the file section under Code > > Fragments/Mbasic for how to talk to registers and enable and > > disable interupts. At least as far as we have figured out yet. That > > particular segment uses timer W, but the serial port should be > > similar. > > > > The interupt commands are compiler directives, not keywords. > > For example, disable the interupt right before the interupt handler > > name label, not inside the interupt handler routine itself. > > Grant > > This is getting more weird. I followed your lead and re-wrote the > interrupt routine. In debug mode I can follow the code and see it > execute through the ISR and then exit. This is significant progress > as before I could never exit the ISR. However, none of the code > after executing the ISR seems to work correctly. I traced it down to > all the variables I set within the ISR always are returned as 0. I > wrote the following simple code: > > DISABLE SCI3INT_RDRF > MIDI_IN_ISR: > MIDIDATA=RDR 'Read Receiver Data Register > ctr=10 > debug [dec ctr,"=ctr "] > end > > When sent a MIDI command, it enters the ISR, prints in the debug > console, and halts. However, the data written to the debug window > is: 0=ctr > > No matter what variable or flag I put in the ISR, everthing reads > back as 0. This is the same effect I saw in trying to read the SSR > register inside the ISR. They also read as all 0's. > > Your code clearly passes back MSEX. I don't understand the > difference. > > Dave
Message
Re: MIDI interupts
2004-04-11 by grantrichter2001
Attachments
- No local attachments were found for this message.