I know till now periodic user timer are not possible in the RTX kernel. is there a plan to implement this feature in future ? rgds, mario
RTX has periodic timers and supports an unlimited number of user timers. What is it you are missing?
http://www.keil.com/arm/rl-arm/rtx_specs.asp
Hallo Per Westermark, User Timers are simple timer blocks that count down on every system timer tick. They are implemented as single shot timers. RTX deletes the timer when it expires. Then you have create the same timer again and so on ...
I need a periodic, i want to create a timer a thread startup, in other word a timer which never expires. (perodic call a my callback function). Rgds, Mario
use a hardware timer, then.
Yes, I know that. But do you see a problem with using os_itv_set() and os_itv_wait()?
#include <rtl.h> void task1 (void) __task { . . os_itv_set (20); for (;;) { os_itv_wait (); /* do some actions at regular time intervals */ } }
http://www.keil.com/support/man/docs/rlarm/rlarm_os_itv_wait.htm The os_itv_wait function waits for a periodic time interval after which the RTX kernel wakes up the calling task. You must set the time interval using the os_itv_set function.
you can use the os_itv_wait function to perform a job at regular intervals independent of the execution time of the task.
That might fill your needs, as Per already mentioned.
Yes,this a perfect solution. I say thank you to all for your great help. Rgds, Mario