Homepage  

钩子函数

[FreeRTOS 基础]

 

空闲钩子函数

空闲任务可以选择调用程序定义的钩子(或回调)函数 - 空闲钩子。空闲任务以最低的优先级运行,这样空闲钩子函数只有在没有其他高优先级任务运行时执行。这使得空闲钩子函数是一个理想的位置使处理器进入低功耗状态 - 没有需要处理的任务时自动节能。

空闲钩子只有在 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月

 

Site Meter