微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 求助 CC2640R2F 怎么增加自己的Task任务线程?

求助 CC2640R2F 怎么增加自己的Task任务线程?

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

我增加一个LED  TASK,蓝牙就挂了,去修改ICALL_MAX_NUM_TASKS       ICALL_MAX_NUM_ENTITIES       OSAL_MAX_NUM_PROXY_TASKS   的最大值也一样不行,蓝牙依然不正常

#define LED_TASK_STACK_SIZE 400

// Task configuration
Task_Struct LED_sbpTask;
Char LED_sbpTaskStack[LED_TASK_STACK_SIZE];


static void LedThread(UArg a0, UArg a1)
{

/* GPIO初始化 */
GPIO_init();

/* 打开LED0 */
GPIO_write(Board_GPIO_LED0, Board_GPIO_LED_ON);
GPIO_write(Board_GPIO_LED1, Board_GPIO_LED_ON);
GPIO_write(Board_GPIO_LED2, Board_GPIO_LED_ON);
GPIO_write(Board_GPIO_LED3, Board_GPIO_LED_ON);


while (1)
{
/* 延时 */
Task_sleep(1000*100);
/* 切换led状态 */
GPIO_toggle(Board_GPIO_LED0);
GPIO_toggle(Board_GPIO_LED1);
GPIO_toggle(Board_GPIO_LED2);
GPIO_toggle(Board_GPIO_LED3);
}
}

void LEDThread_Init(void)
{

Task_Params taskParams;

/* 初始化任务参数 */
Task_Params_init(&taskParams);
taskParams.stack = LED_sbpTaskStack;
taskParams.stackSize = LED_TASK_STACK_SIZE;
taskParams.priority = 1;

/* 创建任务 */
Task_construct(&LED_sbpTask, LedThread, &taskParams, NULL);

}

求助

Hi,

你的优先级冲突了吧,可以尝试更改试试。

// Task configuration
#define SBP_TASK_PRIORITY 1

void SimpleBLEPeripheral_createTask(void)
{
Task_Params taskParams;

// Configure task
Task_Params_init(&taskParams);
taskParams.stack = sbpTaskStack;
taskParams.stackSize = SBP_TASK_STACK_SIZE;
taskParams.priority = SBP_TASK_PRIORITY;

Task_construct(&sbpTask, SimpleBLEPeripheral_taskFxn, &taskParams, NULL);
}

你好,请问TI RTOS 不支持相同优先级的吗?我也试过改成其他没有用过的优先级,还是不行?看到有人说最大任务数量在.CFG文件修改配置?

您可以先参考下TI WIKI页面的说明

http://processors.wiki.ti.com/index.php/Adding_BLE_Enabled_RTOS_Task

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

网站地图

Top