|
Raw timer 实现了软件timer 的功能,由于采用了目前最快的算法,所以这个模块的效率是相当高的。
1 RAW_U16 raw_timer_create(RAW_TIMER *timer_ptr, RAW_U8 *name_ptr,
RAW_VOID (*expiration_function)(RAW_U32), RAW_U32 expiration_input,
RAW_U32 initial_ticks, RAW_U32 reschedule_ticks, RAW_U8 auto_activate)
这个函数需要注意的是initial_ticks 和reschedule_ticks,initial_ticks是第一次超时会调用expiration_function, reschedule_ticks是未来每一次会超时调用函数的时间,reschedule_ticks如果是0 的话,说明只调用一次。auto_activate可以选择现在启动或者未来启动软件timer.
2 RAW_U16 raw_timer_activate(RAW_TIMER *timer_ptr)
如果创建timer 的时候auto_activate= 0, 则用这个函数可以激活软件timer
3 RAW_U16 raw_timer_change(RAW_TIMER *timer_ptr, RAW_U32 initial_ticks, RAW_U32 reschedule_ticks)
调用这个函数前必须调用函数raw_timer_deactivate。
4 RAW_U16 raw_timer_deactivate(RAW_TIMER *timer_ptr)
取消激活一个软件timer.
5 RAW_U16 raw_timer_delete(RAW_TIMER *timer_ptr)
删除一个timer, 删除后要想再用只能重新创建。
|
|