What would happen if you have an os_wait or os_wait2 call with an interval of X milliseconds, such as while {TRUE) { os_wait2(K_IVL, X); //do some stuff } and the "stuff" takes more than X ticks?
This might actually be something to change in RTX51Tiny. If I have several tasks going on, and round-robin task switching turned off for efficiency, then there should be a "next_task" function that I can call simply to give other tasks a chance to execute when timing isn't critical. Calling "os_wait()" with a value of 0 would be sufficient. I rolled my own little RTS, before I could afford a copy of RTX51Tiny, and did just that. Each task would execute once through the "while (1)" loop and then pass control on to the next. Paul Blase
...there should be a "next_task" function that I can call simply to give other tasks a chance to execute... This is your lucky day. :-) There is such a function. It's called os_switch_task. Here's the manual page for it: http://www.keil.com/support/man/docs/tr51/tr51_os_switch_task.htm Jon
Arrgh, I knew that I missed something. Thanks. Paul
Ah, os_switchtask isn't in the manual, it must be a new feature. That's why I didn't find it. Thanks Paul