004_软件定时器
软件定时器API函数:红色常用
函数名 |
作用 |
OSTmrCreate() |
创建定时器并制定运行模式 |
OSTmrDel() |
删除定时器 |
OSTmrRemainGet() |
获取定时器的剩余时间 |
OSTmrStart() |
启动定时器计数 |
OSTmrStateGet() |
获取当前定时器状态 |
OSTmrStop() |
停止计数器倒计时 |
(一) 将软件定时器打开
#define OS_CFG_TMR_EN 1u
(一)定义软件定时器
OS_TMR tmr1; //定时器1 OS_TMR tmr2; //定时器2
(二)创建软件定时器
//创建定时器1 OSTmrCreate((OS_TMR *)&tmr1, //定时器1 (CPU_CHAR *)"tmr1", //定时器名字 (OS_TICK )20, //20*10=200ms,第一次执行 (OS_TICK )100, //100*10=1000ms 第二次以后 (OS_OPT )OS_OPT_TMR_PERIODIC, //周期模式 (OS_TMR_CALLBACK_PTR)tmr1_callback,//定时器1回调函数 (void *)0, //参数为0 (OS_ERR *)&err); //返回的错误码
(一) 当软件定时器定时结束时候就会调用回调函数
void tmr1_callback(void *p_tmr, void *p_arg); //定时器1回调函数 void tmr2_callback(void *p_tmr, void *p_arg); //定时器2回调函数
//定时器1的回调函数 void tmr1_callback(void *p_tmr, void *p_arg) { }
(四)使用函数OSTmrStart开启软件定时器
/*哪个定时器 错误码*/ OSTmrStart(&tmr1,&err); //开启定时器1
(五)使用函数OSTmrStop停止定时器
OSTmrStop(&tmr1,OS_OPT_TMR_NONE,0,&err); //关闭定时器1