• 利用KEIL的软件仿真的逻辑分析仪功能观察GPIO的波形


    在日常工作中,逻辑分析仪和示波器是MCU工程师必不可少的工具,有时候程序有BUG的时候就需要用到这些工具看波形,从而更快地定位到问题所在,进而解决问题。

    但是除了成本以外,我们也不可能时时刻刻把这些工具携带在身边,所以keil的软件仿真功能中的逻辑分析仪在这个时候就体现出非凡的意义了。

    下面的使用步骤是我通过查阅网上资料以及自己实践得出的,如果错漏,敬请斧正:

    1、首先,设置options for target:

    ①Target页的设置:

              图1:options for target ->Target

     Target界面中,选择跟正确的晶振大小,我使用的是8MHz的外部晶振。这个选项在软件仿真中起到很重要的作用,如果选择错误,那么波形一定是错误的,因为时间不准确。此前,我增加默认为72MHz,结果波形与预料的不一致,原本是1s翻转一次的波形,显示出来的周期比预想的长得多。不过这个参数只是在软件仿真中起作用,当程序在硬件中运行并没有影响。

    ②Debug页的设置:

             图2:options for target -> Debug

     首先应该选择Use Simulator,其次是Run to main()选项打钩,然后分别修改上图中的 3 、4、5 、6,注意,3和5在STM32的单片机中应该都是固定的,但是4和6是跟你所采用的具体某一款单片机是对应的。4和6应该是图1中STMicroelectronics 保持一致。

    按照以上步骤设置后点击OK,完成设置。

    2、点击Debug,进入调试界面:

    3、选择逻辑分析仪:

    4、选择要观察的引脚:

    ①点击Setup Logic Analyzer 

     ②添加要观察的引脚:

     注意:图中选择的两个引脚分别是PE8和PE9,其中,PORTE就是端口E,如果是GPIOA,那么对应的也应该写成PORTA,PORTE & 0x00000100后再右移8位也就把PE8的状态获取出来,1就是高电平,0就是低电平。PE9同理。一定要选择Bit,颜色是为了区分不同的引脚,根据需要配置即可。设置完成后退出,就可以在后续的操作中观察到波形。

    PS:如果上述步骤1中的Debug页中3、4 、5 、6没有正确设置,那么在添加引脚的时候就会出现报错:Unknown Signal !

    5、运行程序:

    6、观察波形,把光标移动到逻辑分析仪显示波形的区域,上下滚动滑轮,就可以放大和缩小波形:

    还可以直观地计算波形的宽度:移动光标的位置到某一个点,单击鼠标左键就会把这个点设置为起始点,然后移动光标到另一个位置就可以看到很多的信息,包括时间还有两点之间的时间差,也就是宽度,如图所示:

     以上就是查看波形的所有步骤。当然,在调试时最好能用示波器或者逻辑分析仪来测量引脚的波形,硬件上进行实际的调试才能最直观地观察现象和定位问题。

     

  • 相关阅读:
    八皇后 c++
    筛法求素数
    3月13号周练——2015 Multi-University Training Contest 9
    Mac搭建Git服务器—开启SSH
    push自定义动画
    学习:二维码、QR码、J4L-QRCode、java
    Java注解Annotation详解
    IOS 基于APNS消息推送原理与实现(JAVA后台)
    IOS学习笔记—苹果推送机制APNs
    linux yum命令详解
  • 原文地址:https://www.cnblogs.com/young-dalong/p/14728012.html
Copyright © 2020-2023  润新知