杰理AC697N系列系统定时器使用注意事项

API:

u16 usr_timer_add(void *priv, void (*func)(void *priv), u32 msec, u8 priority);
priv:定时器传递的私有参数
func:定时扫描回调函数
msec:定时时间, 单位:毫秒
priority:优先级,范围:0/1
注意事项:
1、usr_timer的参数priority(优先级)为1,使用该类定时器,系统无法进入低功耗
2、usr_timer的参数priority(优先级)为0,使用该类定时器,系统低功耗会忽略该节拍,节拍不会丢失,但是周期会变
3、usr_timer属于异步接口, add的时候注册的扫描函数将在硬件定时器中时基到时候被调用。
4、对应释放接口usr_timer_del
5、睡眠时,如果定时时间太短,容易引起系统无法进入睡眠,微秒级定时改用硬件定时
6、在某一任务重启动的定时器,在某一任务内执行,也在改任务内删除,否则会删除失败
7、定时器是任务定时器,不能在中断函数中启动
8、在精度要求不是很高时,参数priority(优先级)为0,使用高优先级priority(优先级)为1,需要注意的事项比较多,执行时有时需要对数据进行加锁保护。

如:定时启动对ADC扫描,

usr_timer_add(NULL, adc_scan, 5, 0);

你可能感兴趣的:(TWS,c语言)