We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi all,
I have a problem in switching my tasks.
As I thought, every task has 37ms to work before it gets interrupted by the task-scheduler, who then activates the task with the highest priority or, if prioritys are all equal, the task which waits the longest time. I am running 57 tasks. One of them should not have any breaks longer then 23ms. But how to do. If I work with an endless loop. The task gets interrupted and several other tasks are executed. So the break will be much longer then 29ms. Then I increased the priority of that task and only that task worked, no other. To get other tasks working, I had to build in a 63ms 'task_wait'. But then, in spite of the high priority of that task, the break was as long as it was with the endless loop and the same priority like the other tasks. I thought, I would leave the task with 'task_wait', an other task is executed and after 31ms(task_wait) the first task will be executed again because of its high prioriy. But that does not seem to be so.
Any solutions for my problem?
Thanks for all replies
Susi
Don't use a task to generate a 52Hz signal - use the hardware in the processor. This is trivial to do in a timer interrupt. How else will you be able to keep down temporal jitter?
I think I understand.
But what do you mean by temporal jitter?
It sounds like something from a Star Trek episode?
Have I got to be careful not to break the temporal directive?