微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 两个定时器处理问题

两个定时器处理问题

时间:10-02 整理:3721RD 点击:

你好!ti工程师,

     我想请教一下,我用两个定时器轮询。启动第一个定时器,然后过几秒后,停第一个定时器,启动第二个定时器,然后过几秒,停第二个定时器,启动第一个定时器,这样循环下去。

if ( events &EVT )
  {
    // Restart timer
    if ( KFD_EVT_PERIOD )
    {
         
          osal_start_timerEx( keyfobapp_TaskID, EVT, KFD_EVT_PERIOD );
   }
   {
**********************处理事件
   }
    return (events ^ EVT);
  }

**********过几秒启动第二个定时器,并无限循环下去,如何处理

if ( events &EVT1 )
  {
    // Restart timer
    if ( KFD_EVT_PERIOD 1)
    {
         
          osal_start_timerEx( keyfobapp_TaskID, EVT, KFD_EVT_PERIOD1 );
   }
   {
**********************处理事件
   }
    return (events ^ EVT1);
  }

谢了

lincoln

yuhua lincoln,

if ( events &EVT )
  {
    // Restart timer
    if ( KFD_EVT_PERIOD )
    {
         
          osal_start_timerEx( keyfobapp_TaskID, EVT1, KFD_EVT_PERIOD ); 
   }
   {
**********************处理事件
   }
    return (events ^ EVT);
  }

if ( events &EVT1 )
  {
    // Restart timer
    if ( KFD_EVT_PERIOD 1)
    {
         
          osal_start_timerEx( keyfobapp_TaskID, EVT, KFD_EVT_PERIOD1 ); 
   }
   {
**********************处理事件
   }
    return (events ^ EVT1);
  }

hi,Y

我认为应该这么写:

if ( events &EVT )
  {
    // Restart timer
    //if ( KFD_EVT_PERIOD )
    {
         
          osal_start_timerEx( keyfobapp_TaskID, EVT1, KFD_EVT_PERIOD1 ); 
   }
   {
**********************处理事件
   }
    return (events ^ EVT);
  }

if ( events &EVT1 )
  {
    // Restart timer
    //if ( KFD_EVT_PERIOD 1)
    {
         
          osal_start_timerEx( keyfobapp_TaskID, EVT, KFD_EVT_PERIOD ); 
   }
   {
**********************处理事件
   }
    return (events ^ EVT1);
  }

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top