求助 CC2640R2F 怎么增加自己的Task任务线程?
我增加一个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