手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

STM32F103+FreeRTOS串口模块不能正常工作

时间:2024-10-12 05:36:34

1、程序功能:在STM32F103VE开发板上使用FreeRTOS系统实现LED闪烁加上串口1日志输出。1、不使用FreeRTOS时,串口1能够正常工作;LED能够闪烁;2、使用FreeRTOS时,串口1不能正常工作,LED常亮,不能闪烁;如图所示:

STM32F103+FreeRTOS串口模块不能正常工作

2、我将延时函数改为自己编写的延时函数,不使用FreeRTOS自带的延时函数,经测试串口1正常工作、LED正常工作,代码如图所示:

STM32F103+FreeRTOS串口模块不能正常工作

3、那么是否串口初始化函数与FreeRTOS的延时函数vTaskDelay存在冲突呢?我参考了一下官方的串口初始化例程,发现没有问题。代码如图所示:

STM32F103+FreeRTOS串口模块不能正常工作
STM32F103+FreeRTOS串口模块不能正常工作

4、尝试将串口初始化函数放到main主函数中,发现串口和LED都工作正常,延时函数vTaskDelay工作正常。代码如图所示:

STM32F103+FreeRTOS串口模块不能正常工作

5、FreeRTOS的延时函数在很多时候都需要使用,最终将串口放到了main主函数中。不知道这个算不算FreeRTOS的BUG,串口初始化过程和延时函数vTaskDelay存在冲突!

© 手抄报圈