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

猜你喜欢

转载自www.cnblogs.com/luxiaoguogege/p/10159869.html