ucosIII定时器回调函数不能调用???

2019-07-21 04:27发布

用了原子哥的例子现在不能回调呢?
static        void Main_Task(void *p_arg)
{
        OS_ERR        err;
       
        p_arg = p_arg;

       
         while(1)
  {
               
                u8 num=0;
         while ((( SysEvent >> num ) & 0x01 ) == 0 )//查找事件,进入事件处理函数
        {
          num++;
        }
                switch(num)
                {
                        case 1:     //当key_up按下的话打开定时器1
                                OSTmrStart(&tmr1,&err);        //开启定时器1
                //                printf("开启定时器1 ");
                                break;
                        case 2:                //当key0按下的话打开定时器2
                                OSTmrStart(&tmr2,&err);        //开启定时器2
                //                printf("开启定时器2 ");
                                break;
                        case 3:                //当key1按下话就关闭定时器
                                OSTmrStop(&tmr1,OS_OPT_TMR_NONE,0,&err);        //关闭定时器1
                                OSTmrStop(&tmr2,OS_OPT_TMR_NONE,0,&err);        //关闭定时器2
                                printf("关闭定时器1和2 ");
                                break;       
                }

                OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_PERIODIC,&err);   //延时10ms
                       
                       
                }
                       

       
       

}






//定时器1的回调函数
void tmr1_callback(void *p_tmr, void *p_arg)
{
        static u8 tmr1_num=0;
Lcd_DispBar();
        tmr1_num++;                //定时器1执行次数加1
}

//定时器2的回调函数
void tmr2_callback(void *p_tmr,void *p_arg)
{
        static u8 tmr2_num = 0;
        tmr2_num++;                //定时器2执行次数加1
  Lcd_DispWave();
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。