空闲线程是一个线程状态永远为就绪态的线程,所以空闲线程钩子函数不许被挂起,如使用
rt_thread_delay(),rt_sem_take()等可能会导致线程挂起阻塞类函数,在钩子函数中使用
空闲线程可以设置多个钩子函数
在空闲线程钩子函数里不能调用系统提供的使线程挂起的函数 如: rt_thread_mdelay(300);
在idel的钩子函数中是不能用while (1) 之类的死循环的,这样会造成系统资源不能得到释放。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void rt_hw_iwdg(void) ///在空闲线程钩子函数里喂狗
{
IWDG_ReloadCounter(); /*reload*/
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
网友评论