[STM32H5] 【NUCLEO- H563ZI 测评】艰难的接收串口数据之路

[复制链接]
1786|9
 楼主| dvacos 发表于 2023-8-5 15:19 | 显示全部楼层 |阅读模式
#申请原创# 超级无敌艰难得USART3初始化与接收数据
在收到测评开发板后,我马上下载了开发环境,在我的上一篇测评可以看见我升级了Cubemx,解决找不到H5相关资料的问题!
接下来我按照正常的方法去配置串口时,我尝试来了无数的可能,今天终于、总算初始化成功了!本文就时我一路以来遇到的坑!!   心累!
不知道为什么论坛上没有相关的讨论,可能是我菜吧!
569f20de25fcbe2126f43934e341bc72
如图在7月10号的时候ST发布一版本更新,解决Cubemx找不到H5相关资料 和 创建工程的版本。
这个版本有一下的问题,**后来的人少折腾!
一、编译相关问题
代码不能跳转到声明/实现
生成工程后,编译后,按下F12 或者鼠标右键,跳转到定义时,屏幕左下角回提示下图的红字。
0a07b92ed624a4f4c754b890cbda7ea5
在没有中文路径情况下,进入 Option for target->ouput->Browse Information取消勾选,点击Rebuild all target files重新编译下所有文件,Browse Information重新勾选,再重新编译下所有文件,完美解决,可以愉快的go to define!!!
PS: Option for target 就是“魔术棒”。
a4cc7df32128a303ed69723e3d9505fd
生成工程后,打开串口所需的Micro LIB,时报错
40e9253d749c2175d8b555a48861e0d1
如图,勾选该LIB。
我忘记了截图,导致报错的截图没了,错误信息有两条,如下:
1.Undefined symbol __use_two_region_memory
2.Undefined symbol __initial_sp
于是全局搜索__initial_sp,找到下图的红框的两行代码。
8d1b3e82ba580ecabe4a7db781963ff1
先注释红框的两行代码,点击“全部编译”,“Rebuild”。
add7fcf92f761871a92ef0ac2a9b47d4
编译后,会有一个错误,不管
然后取消注释红框的两行代码,再点击“全部编译”,“Rebuild”。就没有报错了!
每一次生成代码,会重置工程,这个无解
e13d730975853d1c546063b6f7e716f1
每一次生成代码,就有以下重置
会把这里添加的所以文件都移除
移除所以已经添加的.H文件路径
取消勾选Micro LIB,和下载复位与否的选项!
配置相关问题
由于我在ST官网下载资料的时候,没有发现原理图 与 PCB居然放在CAD里面!!只找到了
um3115-stm32h5-nucleo144-board-mb1404-stmicroelectronics.pdf这个文件,所以一直在看这个不直观文件!
后面终于在不懈的努力寻找下,终于找到了原理图 和PCB(主要是我之前用wb55的开发板时,原理图就在同样的文档里)
下载的方式如下:
https://www.st.com/zh/evaluation-tools/nucleo-h563zi.html
61ea1def91da5d37d77416658d6811fd
谁能看一眼就能理解,原理图 和PCB在CAD资源下,虽然PCB能提供板框等机械的信息,但是真不理解啊!
点击“CAD资源”后,按照自己的需求下载即可。
cf873f6d91bd2bbc40287fb4efa2cc73
串口
我在规格书了解到,usart 3 连接到了ST-Link的TX RX上,而ST-Link有虚拟串口功能,可以直接被电脑识别,就不用而外连接串口转USB模块了,所以我配置了usart 3 作为串口,并且电脑可以识别到ST-Link的虚拟串口,但是我始终接收不到数据。
并且我还直接接到了串口输出脚PD8 PD9(排除外部连接错误导致的),任然没有数据。
使用同样的配置usart 2的,我居然有串口了!
如何确认USART3接到ST-Link,下图就是:
13968efb73e84b32931f224a7ccdec27
文档写了usart 3默认接到ST-Link,同时指明了相关的跨接线配置,但是我usart 3确实没有接到任何数据,所以我去检查了跨接空(SBXX)
cbbcbc4c2f3326949f69d68f9c1ea58b
842696665907e794fdca7bcb0f1cc0a0
如图,按照文档上的配置 SB24 SB18都要断开才可以啊。但是别人告诉我不用修改跳线就可以传送数据!
之前我没有找到原理图,所以我就半信半疑的检查硬件,现在我们结合原理图看一下,
9a243f3c8ce10fd941adfd4d408fd923
2a52b26e0d0cd0265c1cdd54ea3edf98
实际上要usart 3 接到ST-Link只要SB24 SB18连接即可,其他的配置其实不重要(至少不会影响PD8 PD9作为串口),
所以结合原理图 使用 万用表一路查
dc4e627f14f9f45b4ee29bd1492f5e0e
发现TX的电平转化芯片输出脚 即连接ST-Link的RX的引脚,有虚焊的现象,烙铁焊了一下,就可以了使用ST-Link
的虚拟串口接到H5发送的串口数据了!!
资料的收集真的很重要啊!

评论

@Jayyy111 :我用电流表测这个引脚也是0.000mA,所以怀疑跟楼主一样的问题  发表于 2025-4-25 21:29
我也想问下虚焊的排查过程,而且这么小的引脚不太好焊吧,该怎么焊?  发表于 2025-4-25 21:28
chenjun89 发表于 2023-8-5 16:57 来自手机 | 显示全部楼层
哈哈,踩过的坑都是后来人的经验啊。
heisexingqisi 发表于 2023-8-5 19:30 | 显示全部楼层
ARM单片机新手吧。
weifeng90 发表于 2023-8-6 09:07 来自手机 | 显示全部楼层
看来还是动手练习少了啊
 楼主| dvacos 发表于 2023-8-7 11:24 | 显示全部楼层

深圳 在职3年吧,有段时间没折腾了,就没有过HAL,之前要不就配寄存器 和 固件库。现在主要都是在搞应用层。
gumenggumeng 发表于 2023-8-24 14:23 | 显示全部楼层
楼主 我最近也在整这个板子!!可以沟通下哈哈哈哈
huwr 发表于 2023-8-24 19:17 | 显示全部楼层
支持原创
Undshing 发表于 2023-8-24 19:54 | 显示全部楼层
虚焊是怎么排查出来的啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

115

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部