有关STM32L562DK的串口通讯,我是反复测试了很多次,前不久在STM32CubeIDE平台用官方提供的例程测试成功了,但在Keil平台却一直不成功。这两天稍有空,我又重新建立测试项目,将一些无关的配置全部删除,用以排除可能对串口通讯的影响。下图为配置表,其中黄色背景标注的是我删除掉的默认配置:
生成项目文件后,编译下载测试仍不成功,证实与这些被删除的配置无关。通过设置LED闪烁来测试,发现单片机并未运行。注释掉程序中的printf重定向语句后,程序即能运行,LED正常闪烁。据此判断应该是重定向语句的问题,可我已经包含了<stdio.h>头文件的,不知道为何还会出问题?
万般无奈,我采取直接通过HAL库函数进行串口通讯,测试竟然意外成功了:
然后我又试着同时用库函数和重定向进行测试:
发现单片机并未先通过串口发送一次信息,然后停在printf语句中,而是整个代码均未运行,也就是单片机没有运行。由此推断是代码中有重定向语句造成单片机不运行。不知道真实原因是否如此,也不知道为什么会造成这种现象! |
Keil平台下载时出错该如何解决?
STM32与JTAG电平不匹配
谁知道STM32用STLINK下载的时候,不连接3V3不能下载
STM32L562DK探索板——再试Audio Play仍不成功
异步传输中的奇偶帧位
STM32L562DK探索板——初试蓝牙功能
STM32L562DK探索板——如何通过板载ST-LINK的虚拟串口进行通讯?
STM32L562DK探索板——如何启用蓝牙功能?
M24LR-discovery电源的困惑
STM32 官方Bootloader相关咨询
微信公众号
手机版