低成本的STlink是入门的必备之选了,虽然十几块钱就可以买到一个,但是他的功能一个都不少
在之前,想要把一个变量用类似示波器打印出来分析,我的做法是使用串口,发送协议数据到电脑,电脑上位机使用相同的协议解析出来每个通道的数据并且显示。
这样做有个一好处就是可以使用无线模块远程监控机器人的状态,但是很多时候,并不需要这样的功能,增加串口、写协议既繁琐又容易出错,也不能随时的变更检测对象,不便于开发
ST官方有一个叫做 STM-STUDIO 的图形化显示工具 ,我翻译了一下官方介绍并且提取了几个重要的点
- STM Studio通过实时读取和显示其变量来帮助在运行STM32应用程序时调试和诊断它们。
- STM Studio通过标准的ST-LINK开发工具与STM32 MCU连接。也就是说所有的ST-link都可以用
- STM Studio是一种非侵入式工具,可保留应用程序的实时行为。不影响程序的运行
- STM Studio是传统调试工具的完美补充,可以对应用程序进行微调。非常适合调试无法停止的应用程序,例如电机控制应用程序。调PID的时候非常有用
- 变量查看器:实时波形,类似示波器的图形。示波器显示图形
- 可以将数据记录到文件中,然后稍后重播数据记录方便放到matlab之类的软件中分析
STM-STUDIO的使用方法
1.打开STM-STUDIO 主界面:
2.导入MDK-ARM编译产生的axf文件
使用CUBEMX生成的工程,编译之后文件在工程目录/MDK-ARM/工程名称文件夹
我的工程名称叫做robot,那么导入文件robot/MDK-ARM/robot/robot.axf
-
右键如图所示的空白处,选择import
-
点击红色框框,选择 axf文件
-
导入之后 按照顺序,选择要检测的变量,导入变量,然后关掉这个窗口
3.将变量添加到变量查看器
右键变量 Send To VarViewer1 添加变量到变量查看器1
4.最终效果
这是我用来监测编码器的脉冲计数,用手转动电机,可以实时的把脉冲数的变化情况显示出来
5.添加多个变量查看器
右键左下方状态栏,选择 New Var Viewer 即可添加新的变量查看器
-
左下方状态栏选中VarViewer2将 VarViewer1 as 改为 Bar Graph可以显示柱状图
-
将 VarViewer1 as 改为 Table 可以显示文字
致谢
感谢strongerhuang的文章作为学习的参考,这里是他的STM-STUDIO文章,我几乎是按照他的做法实现了一遍,受益匪浅
https://www.mianbaoban.cn/mp/a4162.html
这是他的个人网站,有丰富的嵌入式资料
www.strongerhuang.com