问题:在任务里使用printf("%f")打印浮点数时出现出现卡死,但是改成打印printf("%d")打印整数又正常。
原因:printf("%f")打印浮点数时消耗了很多栈空间,堆栈空间太小.
解决:创建任务时将堆栈大小改大,或者改用为FreeRtos优化改进的printf函数.
xTaskCreate((TaskFunction_t )task1,
(const char* )"task1",
(uint16_t )128, //任务堆栈大小,之前设置的52
(void* )NULL,
(UBaseType_t )2,
(TaskHandle_t* )&StartTask_Handler);