004_軟體定時器
阿新 • • 發佈:2018-12-22
軟體定時器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