初级会员
- 积分
- 75
- 金钱
- 75
- 注册时间
- 2018-5-31
- 在线时间
- 13 小时
|
1金钱
创建了两个任务 一个负责闪烁LED 一个负责处理串口数据LED任务
[mw_shl_code=applescript,true]/* StartLEDFlashTask function */
void StartLEDFlashTask(void const * argument) {
/* USER CODE BEGIN StartLEDFlashTask */
/* Infinite loop */
for (;;) {
HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin,
HAL_GPIO_ReadPin(LED0_GPIO_Port, LED0_Pin) == GPIO_PIN_SET ?
GPIO_PIN_RESET : GPIO_PIN_SET);
osDelay(500);
printf("led thread\n");
printf("eTaskGetState data:%d",eTaskGetState(serialTaskHandle));
//printf("memory : %d B\n", xPortGetFreeHeapSize());
}
/* USER CODE END StartLEDFlashTask */
}[/mw_shl_code]
处理数据前是这样的
“
[17:02:10.332]收←◆eTaskGetState led:2led thread
eTaskGetState data:2data thread
[17:02:10.834]收←◆eTaskGetState led:2led thread
eTaskGetState data:2data thread
”
互相看任务状态,都是2
处理完数据后
“
[17:02:25.907]收←◆eTaskGetState led:1data thread
[17:02:26.409]收←◆eTaskGetState led:1data thread
”
如果我的数据处理挂了,我还能理解,可能代码复杂,哪里出了问题,,,但是现在的情况是ledFlash 进入Ready状态,一直运行不了
最后两个线程都挂了
|
|