1、打开CUBEMX,找到开发板,直接生成代码 file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps1.jpg
2、配置中打开St-Link虚拟串口
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps2.jpg 3、生成代码,在main.c中增加一段信息打印函数:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps3.jpg
运行效果如下: file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps4.jpg 4、调试小插曲 程序烧写后你会发现无法正常运行,通过仿真发现根本没进入main()函数,必须连续点击三次运行,才能实现程序正常运行!其实根源是程序使用了printf函数,而工程里面没有勾选Use MicroLIB,只需勾选就行:
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 文件,注释掉两句话再编译,如下:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps6.jpg 2)取消注释,再重新编译,它就正常了,很奇怪。
附上代码:
UART_test.zip
(7.11 MB, 下载次数: 0)
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml5564/wps7.jpg
|