keil软件仿真时如何使用逻辑分析仪查看波形(转载)
这篇文章实在写得不错,怕以后找不到,故转载于此,感谢原文博主的分享。
转载地址:
https://hxydj.blog.csdn.net/article/details/100037901
在调试程序时有时候手头没有示波器,这时候就需要用到软件仿真。在软件仿真时可以通过逻辑分析仪来查看IO口的波形。但是逻辑分析仪对于新手来说不知道怎么用,现在就来说说逻辑分析仪如何设置。
首先用LED灯来测试,代码如下:
#define LED0 PAout(8)// PA8
#define LED1 PDout(2)// PD2
void LED_Init(void)
{ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE); //使能PA,PD端口时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //LED0-->PA8 端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHzGPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOB.5GPIO_SetBits(GPIOA,GPIO_Pin_8); //PA8 输出高GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //LED1-->PD2 端口配置, 推挽输出GPIO_Init(GPIOD, &GPIO_InitStructure); //推挽输出 ,IO口速度为50MHzGPIO_SetBits(GPIOD,GPIO_Pin_2); //PD2 输出高
}int main(void)
{delay_init(); //延时函数初始化LED_Init(); //初始化与LED连接的硬件接口while(1){LED0 = 0;LED1 = 1;delay_ms(100); //延时100msLED0 = 1;LED1 = 0;delay_ms(100); //延时100ms}
}
PA8和PD2口分别接一个LED灯,主程序中控制LED灯闪烁。
下来看看如何用keil软件仿真,并通过逻辑分析仪观察LED波形。
首先点魔术棒,打开设置界面。
在Debug选项中选择软件仿真,选择Use Simulator 选项。选择好之后点OK按钮。
然后点Dubug按钮,进入仿真界面。
后点模拟分析按钮,在下拉列表中选中逻辑分析仪。
这时候会打开逻辑分析仪的界面。
下来开始给逻辑分析仪中添加要观察的IO口。
点击逻辑分析仪窗口左上角 Setup按钮 打开设置界面。
设置界面打开后,里面是空白的。下拉我们给里面添加要监控的IO口。LED灯使用的是PA8 和 PD2 ,先添加PA8,首先点新建按钮。
然后再下面新建的编辑框中输入 (PORTA & 0x00000100)>> 8
然后显示类型选择 位,显示颜色可以自己定义。
下来用同样的方法添加PD2口,选择新建按钮,然后再编辑框中输入 (PORTD & 0x00000004)>> 2 ,显示类型选择位显示颜色自定义。
然后点close按钮,关闭设置窗口。
设置好之后,逻辑分析仪窗口左侧会出现刚才设置的两个IO口。然后点全速运行,开始执行程序。
等程序执行一段时间后,点停止按钮。
这时候逻辑分析仪窗口就会出现,两个LED的波形。
通过波形上就可以看到LED口电平隔0.1s翻转一次。说明程序执行成功。
通过对逻辑分析仪窗口添加要观察的IO口就可看到对应IO口的波形,但是感觉上面的方法添加IO口时比较麻烦需要计算每个IO口对应的值。还有没有其他简单的添加IO口方法。下面就说一说比较简单的添加方法。
方法二:
新建添加后,直接在编辑框中输入PORTA,然后底下显示类型中选位类型,下来在右移设置框里面填8,代表PA口的值右移8位,也就是要观察PA8的值。
用同样的方法添加PD2.
添加完成后点close按钮,关闭设置窗口。然后全速运行一会程序后,点停止按钮。观察逻辑分析仪窗口波形。
波形和刚才仿真的一样,注意逻辑分析仪窗口左侧显示的是PORTA和PORTD。和第一种方法直接位定义显示有区别。
还有一种更简单的方法。
方法三:
在新建的时候直接输入 PORTA.8 代表PA8口,输入完之后按回车键,软件会自动变成位定义。
然后在底下显示类型中选择位
同样的方法添加PD2口,新建编辑框,然后在里面输入PORTD.2,然后按回车键。
软件会自动变成位定义,然后在底下显示类型中选择位,设置完成后点close按钮。关闭设置窗口
然后全速运行一段时间,停止仿真。观察LED口波形。
波形和前面两种方法一样。
可以通过三种不同方法设置逻辑分析仪观察值,综合看来第3种设置方法比较简单快捷。
如果想要实时显示波形的话在调试的状态下选择view菜单下的 periodic window update。
这时候全速运行,就能实时显示LED的波形了。
keil软件仿真时如何使用逻辑分析仪查看波形(转载)相关推荐
- keil软件仿真时如何使用逻辑分析仪查看波形
在调试程序时有时候手头没有示波器,这时候就需要用到软件仿真.在软件仿真时可以通过逻辑分析仪来查看IO口的波形.但是逻辑分析仪对于新手来说不知道怎么用,现在就来说说逻辑分析仪如何设置. 首先用LED灯来 ...
- Keil软件仿真时如何用逻辑分析仪观察变量值
在调试代码的时候,有时候手头上没有硬件环境,就需要用到纯软件仿真.下面先看一下要测试的代码. #include "sys.h" #include "delay.h&quo ...
- keil软件仿真时,程序不能正常运行解决方法
在用keil软件调试程序时,有时候手头没有硬件电路板,就需要用到软件仿真功能.但是使用软件仿真时经常出现一个问题,就是开始仿真后,程序就会卡在系统初始化函数中. 程序停在时钟设置这里就不动了,不能进入 ...
- Keil软件仿真STM32时出现“no ‘write‘ permission”,“no ‘read‘ permission ”的错误
Keil软件仿真STM32时出现"no 'write' permission","no 'read' permission "的错误 在Keil中可以对我们的程 ...
- Keil软件仿真STM32互补输出PWM
首先用Cubemx生成一个简单Keil工程,创建一个TIME4定时器,记得打开中断,用于让两个LED闪烁,型号:STM32F103VET6: 配置两个IO为输出状态,控制两个LED灯. 主函数中先打开 ...
- Keil软件仿真步骤
目录 前言 一.准备工作 二.仿真 1.波形验证 2.变量验证 3.其他 注意事项 前言 在学习STM32的过程中会不可避免的遇到需要仿真的情况,其实大部分时候都是直接使用ST-Link进行硬件仿真, ...
- keil软件仿真看不到波形
这两天想用keil软件仿真看spi与串口,iic通讯的波形.程序是没有问题的,但是keil仿真就是一直是低电平,一点变化都没有,而仿真点灯的,或者控制蜂鸣器的gpio能看到波形.在网上找了好久找到了大 ...
- 如何查找不同芯片keil软件仿真要配置的参数DAMSTM.DLL、-pSTM32F103C8
KEIL软件仿真配置参数 这里以C8T6为例,其他芯片查找方法也一样 软件仿真需要选择 Use Simulator,下面的红框参数可以从KEIL软件给的芯片数据查看 点击软件的File选项,然后点击D ...
- 突破KEIL软件编译时 C51中断号最大只能为31限制的补丁,使中断号可以达到256
突破KEIL软件编译时 C51中断号最大只能为31限制的补丁,使中断号可以达到256 资源来源说明 一个突破KEIL C51 中断号最大只能为31限制的补丁,使中断号可以达到256 阿莫电子论坛 ht ...
最新文章
- 一个“退学生”到CTO的逆袭之路
- linux磁盘分配方案,张明贵-Linux磁盘分区方案
- python 语言教程(4)字符串
- 你想被推荐系统毁掉么?
- Maven打包时去掉项目版本号
- ef core中如何实现多对多的表映射关系
- PS网页设计教程XIV——如何创建一个复古风格的PS布局
- spring mvc处理静态资源
- ubuntu mysql 操作_Ubuntu系统下MySQL数据库基本操作
- 如何完成dedecms外部数据库调用|跨数据库数据调用
- C# Double toString保留小数点方法
- linux经典学习网站及博客
- tomcat中JSP跳转Servlet时卡白页的原因
- Azure与Aliyun服务对比
- SCAU 计算智能 8615 快乐
- Perl变量作用域和自定义函数小结
- 罕见整套ZBrush笔刷合集,看完马上收藏了
- 反向交易: 减少最大回撤以及在其它市场上测试
- 第三方物流学习(二)
- css,qss font-family常用的黑体宋体等字体中英文对照