Periodic Task in FreeRTOS

I think about how i can create a periodic task in FreeRTOS without using Mutex or Semaphors or Interrupts
and i thought about modify the Kernel to implement new API that manage periodic task automatcly.
If any one have an idea, think’s for help me.

Periodic Task in FreeRTOS

What you mean by “periodic task”? The task which does something periodically? If this is the case, you can create such task and used TaskDelay() or TaskDelayUntil() calls to block the task until it is time for it to execute.

Periodic Task in FreeRTOS

a preiodic task is a task that execute one time each periode.
i have used TaskDelay() and TaskDelayUntil() but it does not work properly when i create many tasks. i have begins modification in kernel to implement new API that creates a periodic task. So we can simply call the API with desired periodicity parameter and the task is executed periodicly.

Periodic Task in FreeRTOS

Please remember that even in multitasking systems only one task is executed at a particular time. TaskDelay() and TaskDelayUntil() are designed to give one tick period granurality. And with correctly set up task priorities (higher than non-periodic tasks) give satisfying results. Of course if tick period granurality is not acceptable, you have to use additional timers generating interrupts to trigger task execution start on precise moments. This comes at a price. Still I don’t see how changing kernel can provide you better periodic task operation. And still you have to deal with situation when there are more than one task to execute at a particular time.