BLE4.2 ch582 TMOS使用

需要注意的是,TMOS(任务管理系统)的时基是625us。每个Take任务最多能有15个事件;
BLE4.2 ch582 TMOS使用_第1张图片

创建一个TMOS任务,需要分五步:
1.创建任务TakeID

static uint8_t LEDTaskId = INVALID_TASK_ID;

2.定义一个事件标志

#define LEDTask1_EVT              0x0001

3.注册任务事件

LEDTaskId = TMOS_ProcessEventRegister(LEDTask1_ProcessEvent);//将事件的回调函数注册到 TMOS 中,并生成唯一的 8 位任务 ID。

4.调用事件

tmos_start_task(LEDTaskId, LEDTask1_EVT, 1600);//1600*625us=1S

5.任务函数

uint16_t LEDTask1_ProcessEvent(uint8_t task_id, uint16_t events)
{
      if(events & LEDTask1_EVT )
       {
          GPIOA_InverseBits(GPIO_Pin_3);//电平反转
          tmos_start_task(LEDTaskId, LEDTask1_EVT, 1600);//1600*625us=1s,
          return (events ^ LEDTask1_EVT);
       }
}

你可能感兴趣的:(BLE蓝牙,c语言,开发语言)