导读:很多时候我们并不满足于查看变量的值,可能还想看这个变量的历史变化,同时以波形的方式显示出来,这就需要了解 KEIL 另一个有趣的东西:逻辑分析仪。
效果图:
以 STM32F103RET6,外接 8M 晶振,输出引脚 PA.7,70 Khz 为例.每一步都很重要。
- 准备输出 PWM 的程序
- 设置时钟,设置为 8M。点击图示,进入配置页面。在 Target 中配置 8M 晶振,在同一界面的 Debug 配置为仿真模式。
- 进入仿真界面,点击 Debug 图标。
- 找到逻辑分析仪界面。点击所示,即可出现窗口。也可在 View 菜单中找分析窗口。
- 点击 Setup,进入设置界面,如图,敲上 porta.7 (PA7 引脚),按回车键,点击 Close 然后在回到这个界面设置 Display Type 为 bit,表示显示位。再 Close。
- 以下是最终结果。
- 先开始运行程序一会再停止。注意一定要停止,否则分析窗口不会出现波形。
- 最后就是窗口的使用了,将光标点(不是移)在窗口上,鼠标滚轮移动可以调节波形大小,左击波形的某个位置,再点击移动光标置另一个位置,就会显示时间差和频率。可以放大后再确定位置。
------------------------------------------------------------------------------------------Osprey 2016/11/2
这是很久之前写的一篇笔记,可以看到流程化非常明显,而且图片里的注释也是相当的难看。本来准备重写的,但是想想还是算了,毕竟这篇笔记也是能解决问题了的,还是把时间花在其它没写过的内容上。不过要注意的一点就是,上面的是内容是在软件仿真情况下进行的,实际上在硬件仿真情况下也能实现,这里就要用到 ITM 调试了,关于这个内容看:
STM32调试利器之ITMmp.weixin.qq.com-----------------------------------------------------------------------------------------Osprey 2019/03/24
当你添加变量的时候会警告不能将警告添加到逻辑分析仪中:
那么哪些标志符是可以添加的,哪些是不可以添加的呢?可以通过【View】【Symbols Window】查看。
但是有的时候你会发现有些符号不能添加,可能是这个参数没有设置正确:
具体可以看
Peripherals显示空白?mp.weixin.qq.com这一小节内容。
还有需要说明的一点就是,即使你将上面的参数设置正确,使某些标志符(比如GPIOA_IDR)存在,也能添加至逻辑分析仪中,但是你会发现这个值显示根本不正确(比如想观察某个引脚的电平状态)。这个有可能是因为标志符被其他窗口(比如General Purpose I/O)占用的缘故吧。如果有哪位道友知道的话欢迎留言。
-----------------------------------------------------------------------------------------Osprey 2019/04/13
前面的几篇文章都是前菜,可能很多人多少都知道一些,但下一篇的内容可是很少见的,也是鱼鹰决定写这个系列教程的重要原因。
定义的变量莫名其妙的变化了,可是明明没有修改呀,那是被哪个函数修改的?当变量值为某个特定值的时候,我想让程序停下来,怎么办?这个代码位置我想知道它运行了多少次,但程序运行不能停,怎么办?下一篇文章将告诉你答案,相当有用的一部分内容,千万别错过(提示:最为常用的调试功能,但是你却不一定知道还能这样用的调试功能)。
推荐阅读:
STM32工程模板建立之 KEIL 开发平台设置(一)mp.weixin.qq.com这是一个系列文章,基本完结了。
STM32固件升级之基础知识(一)mp.weixin.qq.com这也是一个系列文章。
更多内容请查看微信公众号:鱼鹰谈单片机