davedoors wrote on Thursday, June 13, 2013:
There isnt a setting to limit the maximum number of timers so I’m not sure what you are changing.
Is it you can’t create any timers, or that the timers cannot be started?
If a timer cannot be created then it can I think only be because you have run out of FreeRTOS heap. You say you have tried increasing the configTOTAL_HEAP_SIZE setting already though. Is the xTimerCreate() function returning NULL?
When you have already created a timer you start it by posting a message to the timer task (that is internal implementation, you actually just call an API function). The length of the message queue is a FreeRTOSConfig.h setting. If the queue gets full then you will not be able to start the timer. To ensure the message queue does not get full only start timers after the scheduler has been started, or if the scheduler is already running then ensure you are not starting the timers from a task that has a priority above the timer task. The timer task priority is another FreeRTOSConfig.h setting.