Thread 中讨论的其他器件:CC2650
工具/软件:TI-RTOS
您好!
对于我的项目、我将从示例"project_zero_app_cc2650launchxl"开始
我的目标是根据特定频率使板载 LED0闪烁。
为此、我创建了一个专用任务、arg0是参考频率。 但是、我可以动态更改 arg0吗? (例如、每当我按下板载按钮时)
1_我的解决方案是删除当前任务并重新创建一个新任务以指定新的 arg0、但是否有简单地修改当前任务的 arg0的意义?
案例 Board_Button1:
ButtonService_SetParameter (BS_Button1_ID、
sizeof (pState->state)、
pState->state (&P);
log_info0 ("由于 Button1而删除我的任务");
Task_delete (&Task_Handle_LED);
频率=频率- 25000;
//将创建新任务
Task_Params_init (&taskParams);
taskParams.arg0 =频率/时钟_tickPeriod;
taskParams.STACKSIZE = TASKSTACKSIZE;
taskParams.stack =_task0Stack;
Task_handle_LED = Task_create ((Task_FuncPtr) LEDtaskFxn、&taskParams、NULL);
log_info0 ("我的任务已重新创建");
中断;
2_also、如果 "taskParams.arg0"的值为 25000、则 CC2650 LaunchPad 会阻止、我有一个奇怪的行为、并且必须将其复位以使其再次运行。
你有解释吗?
(这与 Task_sleep 相关、对于 INFO、 Clock_tickPeriod = 10)
谢谢!
John MC。