问题:在任务里使用printf("%.1f")打印浮点数时出现卡死的现象
原因:printf("%.1f")打印浮点数时消耗了很多栈空间,堆栈空间太小.
解决:增加任务堆栈大小,或者使用FreeRTOS优化改进的printf函数.
//任务优先级
#define STORAGE_TASK_PRIO 2
//任务堆栈大小
#define STORAGE_STK_SIZE 128 //50改为128
//任务句柄
TaskHandle_t STORAGETask_Handler;
//任务函数
void storage_task(void *pvParameters);
xTaskCreate((TaskFunction_t )storage_task,
(const char* )"storage_task",
(uint16_t )STORAGE_STK_SIZE,
(void* )NULL,
(UBaseType_t )STORAGE_TASK_PRIO,
(TaskHandle_t* )&STORAGETask_Handler);