1.
#ifdef RT_USING_HOOK
static void (*rt_thread_idle_hook)();/**
* @ingroup Hook
* This function sets a hook function to idle thread loop. When the system performs
* idle loop, this hook function should be invoked.
*
* @param hook the specified hook function
*
* @note the hook function must be simple and never be blocked or suspend.
*/
void rt_thread_idle_sethook(void (*hook)(void))
{
rt_thread_idle_hook = hook;
}
#endif
2.
#define RT_USING_HOOK
然后在应用程序里设置钩子函数
#ifdef RT_USING_HOOK
#endif
3.
void rt_hw_led_flash(void)
{
}
这样写过之后,在系统空闲的时候就会执行这个函数,当然,如果系统繁忙的时候是不会进入这个idel任务的,不过如果系统一直处于繁忙的状态就是有问题了
另外一点记住,在这个函数里不能调用系统提供的使线程挂起的函数