borrow1988 发表于 2018-5-10 08:46

UCOSii定时器启动后不进入回调


问题描述: 设置软件定时器,周期运转,创建成功(返回句柄,并且ERR=0),可以不进入回调函数


相关程序:
void OS_Timer0(OS_TMR *ptmr, void *p_arg)
{
      GPIO_ToggleBits(LED4);

}

OS_TMR *pTimer0 = 0;
void Startup_SoftTimer(void)
{
      unsigned char err=0;
      pTimer0=OSTmrCreate(5,1,OS_TMR_OPT_PERIODIC, (OS_TMR_CALLBACK)OS_Timer0, (INT8U *)0,"OSTIMER0", &err) ;//100MS
      OSTmrStart(pTimer0,&err);
}




void Task_KEY(void *pdata)
{
      Startup_SoftTimer();
      while(1)
      {
               
      }
}



void Task_start()
{
...
OSTaskCreate(Task_KEY, (void *)0, &Stk_Task_KEY, OS_USER_PRIO_GET(9));
..
}

SeanZhu 发表于 2018-5-11 06:14

void Task_KEY(void *pdata)
{
      Startup_SoftTimer();
      while(1)
      {
                /* 这里要放权, 例如调用OSTimeDlyHMSM()函数 */
      }
}

borrow1988 发表于 2018-5-11 17:07

SeanZhu 发表于 2018-5-11 06:14
void Task_KEY(void *pdata)
{
      Startup_SoftTimer();


调用不好使
重新做了一个
页: [1]
查看完整版本: UCOSii定时器启动后不进入回调