Yes, I think it is possible to set a break point using 'pause' command with multiple interrupts.
Yes, I think it is possible to set a break point using 'pause' command with multiple interrupts.
Without going into tricks like manipulating the system variables used for the PAUSE statement there's no way to terminate a PAUSE statement prematurely. If you're using interrupts (not ON INTERRUPT though) the program can be made to respond DURING the PAUSE statement but then any time spent handling those events will of course be "added" to the duration of the pause.
The best way is probably to break the pause duration up in a a lot of shorter durations and check your inputs and what not as part of that loop. I read your response as if that's something you've tried but it's not clear why it didn't work for you. To keep accurate timin you must try Writing the "check-inputs-code" so that it always takes the same amount of time. Then of course I have no idea exactly how acurate you NEED to be.
If the polling code take 120us to execute then do a loop with PAUSEUS 876 (tweak it match) and GOSUB your polling code each time.
/Henrik.
Yes, what I basically want, is to terminate PAUSE statement, when any key is pressed.
And like I said, you basically can't without going to low level tricks. Instead my recommendation would be something like this:/Henrik.Code:Delay_ms = 1000 GOSUB WaitHere WaitHere: For ms = 1 to Delay_ms Gosub CheckInputs PAUSEUS 900 ' Tweak this to get correct timing, value depends on execution time CheckInputs. NEXT RETURN CheckInputs: ' Do whatever here, but no pausing etc ' If the delay should be terminated set ms = Delay_ms which will then terminate the FOR-NEXT loop when it returns. RETURN
Oh, thanks, will give it a try.
Bookmarks