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