空闲钩子只有在 FreeRTOSConfig.h 的宏 configUSE_IDLE_HOOK 被设置为 1 时在调用,此时用户程序必须提供下面形式的钩子函数:
void vApplicationIdleHook( void );
空闲钩子在空闲任务运行时将反复调用。至关重要的是空闲钩子函数不调用任何可能引起阻塞的 API 函数。
节拍中断可以选择调用程序定义的钩子(或回调)函数 - 节拍钩子。节拍钩子提供了方便的计时功能,它只有在文件 FreeRTOSConfig.h 中的宏 configUSE_TICK_HOOK 设置为 1 时才会调用。当它被设置后,用户程序必须提供下面形式的钩子函数:
void vApplicationTickHook( void );
vApplicationTickHook() 从 ISR 中执行,所以它必须非常短,同时也不使用太多堆栈。
参考 演示程序的文件 crhook.c ,查看怎样使用节拍钩子。
翻译: 邵子扬
EMail: shaoziyang@126.com
Blog:
http://blog.ednchina.com/shaoziyang
2008年10月