ucOS_III定时器的使用

来源:互联网 发布:淘宝店装修收费吗 编辑:程序博客网 时间:2024/05/22 15:47

例子:使用定时器实现按键长安后启动电机转动

OS_TMR   START_TMR;  //定义定时器变量Void startTmrCallback(OS_TMR *p_tmr, void *p_arg){//启动电机转动}//定时器只创建一次OSTmrCreate(&START_TMR“tmr name”60,//延时时间0,//周期调用OS_OPT_TMR_ONE_SHOT,//单次startTmrCallback,//定时时间到后的回调函数0,//void * 类型,传递给回调函数的参数&err);Void    _cbDialogHome(WM_MESSAGE* pMsg)   //对话框回调函数{Switch(pMsg -> MsgId){Case   WM_NOTIFY_PARENT:Id = WM_GetId(pMsg -> hWinSrc);NCode = pMsg -> Data.V;Switch(Id){Case ID_BUTTON_0:Switch(NCode){Case  WM_NOTIFICATION_CLICKED://按键按下OSTmrStart(&START_TMR,&err);//启动定时器Break;Case  WM_NOTIFICATION_RELEASED://按键松开OSTMRStop(&START_TMR,OS_OPT_TMR_NONE,&err);//停止定时器Break;                                        }                        }         }}