printf函数不可重入问题(FreeRTOS)

一、遇到问题详情

问题现象:如果在最开始的代码中加入printf打印函数,函数只会打印一部分,且后面的程序不在运行,直接异常。

printf函数不可重入问题(FreeRTOS)_第1张图片

代码调试,结果也是遇到printf函数卡死,进入HardFault_Handler中断

printf函数不可重入问题(FreeRTOS)_第2张图片

屏蔽打印函数之后,代码正确运行,说明printf函数严重影响程序的运行

printf函数不可重入问题(FreeRTOS)_第3张图片 

二、解决办法

vTaskSuspendAll();// 挂起任务调度器


xTaskResumeAll();    // 恢复任务调度器

printf函数不可重入问题(FreeRTOS)_第4张图片 

你可能感兴趣的:(常见bug专栏,FreeRTOS,c语言,linux,运维,服务器,网络,数据结构)