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

CC2640 的软件定时器问题Util_constructClock

时间:10-02 整理:3721RD 点击:
Util_constructClock(&periodicClock,SimpleBLEPeripheral_clockHandler,50, 150, false, SBP_PERIODIC_EVT); 

我设置了定时器,第一次50周期,第二次150周期。
然后Util_startClock(&periodicClock); 启动了定时器

if (events & SBP_PERIODIC_EVT)
    {
      events &= ~SBP_PERIODIC_EVT;
     
     
      // Perform periodic application task
      SimpleBLEPeripheral_performPeriodicTask();

      // led 流水灯  
      if(TEST_LED_MODE_ALL_BLINK == my_led_mode)
      {
        static int count = 0;

        HalLedSet(HAL_LED_1 | HAL_LED_2 | HAL_LED_3 | HAL_LED_4, HAL_LED_MODE_TOGGLE);

        if(++count > 20)
        {
          HalLedSet(HAL_LED_1 | HAL_LED_2 | HAL_LED_3 | HAL_LED_4, HAL_LED_MODE_OFF);
          my_led_mode = TEST_LED_MODE_ALL_FLOW;
        }
      }
      else if(TEST_LED_MODE_ALL_FLOW == my_led_mode)
      {
        static uint8 i = 0;
        static int count = 0;
        uint8 ledshow[] = {HAL_LED_1, HAL_LED_1, HAL_LED_2, HAL_LED_2, HAL_LED_3, HAL_LED_3, HAL_LED_4, HAL_LED_4, HAL_LED_3, HAL_LED_3, HAL_LED_2, HAL_LED_2};

        HalLedSet(ledshow[i], HAL_LED_MODE_TOGGLE);
        i++;
        i %= (sizeof(ledshow));  
        if(++count > ((sizeof(ledshow))*5))
        {
          HalLedSet(HAL_LED_1 | HAL_LED_2 | HAL_LED_3 | HAL_LED_4, HAL_LED_MODE_OFF);
          my_led_mode = TEST_LED_MODE_KEY_CTRL;
        }
        
       }
       
    }

=========第一次定时器到了执行了上面的灯的花样变化==========
问题来了,第一次转型完成,为何不执行第二次啊,感觉定时器关了好像

jucai,

你找代码里面,Util_stopClock(&periodicClock); 

把这些都注销掉试试?

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

网站地图

Top