微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2541 添加自定义任务

CC2541 添加自定义任务

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

各位大神好!

我在 CC2541 SimpleBLEPeripheral 这个例程里面多添加2个任务。在添加第1个的时候,一切工作正常,taskid =  12;

但是安装第一个自定义任务的添加办法,添加第2个任务后,编译运行,例程就工作不对了,蓝牙也发布出来。

这个添加自定义任务有限制嘛,看程序没有限制的呀!

好急!

taskid序号取值有讲究的。

代码贴出来看看,另,taskid要连续。

感谢您的回复!

taskid我是连续写的。

代码如下:

void osalInitTasks( void )
{
  uint8 taskID = 0;

。。。。。。

  /* Application */
  SimpleBLEPeripheral_Init( taskID++ );
  HwI2C_Init(taskID++);
  Ble_Init(taskID);
}

const pTaskEventHandlerFn tasksArr[] =
{
  LL_ProcessEvent,                                                  // task 0
  Hal_ProcessEvent,                                                 // task 1
  HCI_ProcessEvent,                                                 // task 2
#if defined ( OSAL_CBTIMER_NUM_TASKS )
  OSAL_CBTIMER_PROCESS_EVENT( osal_CbTimerProcessEvent ),           // task 3
#endif
  L2CAP_ProcessEvent,                                               // task 4
  GAP_ProcessEvent,                                                 // task 5
  SM_ProcessEvent,                                                  // task 6
  GATT_ProcessEvent,                                                // task 7
  GAPRole_ProcessEvent,                                             // task 8
  GAPBondMgr_ProcessEvent,                                          // task 9
  GATTServApp_ProcessEvent,                                         // task 10
  SimpleBLEPeripheral_ProcessEvent,                                 // task 11
  HwI2C_ProcessEvent,            // task 12
  Ble_ProcessEvent                // task 13
};

上边 task12和task13是我自己自定义的任务。添加12时,很顺利,工作也正常。添加了13后,程序就不正常了。

void Ble_Init( uint8 task_id )
{
 
 ble_initVarible();
 Ble_TaskID = task_id;
 //SerialPrintValue("\n\rBle_Init taskid !",Ble_TaskID,10);
 osal_set_event( Ble_TaskID, BLE_Event_1);
}

BLE_Event_1 = 0x00000001;

测试发现osal_set_event( Ble_TaskID, BLE_Event_1);这要这句打开,程序就不正常了,关闭了就正常。

还望大神神助呀

问题找到,osal_set_event( );调用的时候,需要把头文件也加进去,添加osal.h的头文件就可以了。

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

网站地图

Top