[STM32U3] 【STM32U385RG 测评】基础任务1 串口测试

[复制链接]
151|0
numenjian 发表于 2025-9-1 17:03 | 显示全部楼层 |阅读模式
1、打开CUBEMX,找到开发板,直接生成代码
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps1.jpg 7350968b5609ce3692.png
2、配置中打开St-Link虚拟串口
196068b560aa7a6cd.png
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps2.jpg
3、生成代码,在main.c中增加一段信息打印函数:
707768b560b8c5688.png
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps3.jpg

运行效果如下:
8061468b560d72158f.png
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps4.jpg
4、调试小插曲
程序烧写后你会发现无法正常运行,通过仿真发现根本没进入main()函数,必须连续点击三次运行,才能实现程序正常运行!其实根源是程序使用了printf函数,而工程里面没有勾选Use MicroLIB,只需勾选就行:
7057968b560de53dc9.png
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps5.jpg
然而勾选好了第一次还有变故,编译失败!两个报错:
Undefined symbol __use_two_region_memory
Undefined symbol __initial_sp
查找资料,只找到了解决方法,原理未知:
1)找到startup_stm32f103xb.s 文件,注释掉两句话再编译,如下:
6569968b560eade40c.png
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps6.jpg
2)取消注释,再重新编译,它就正常了,很奇怪。
2612568b560f5a0286.png
附上代码: UART_test.zip (7.11 MB, 下载次数: 0)
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps7.jpg

3092468b560c687dde.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

345

帖子

6

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