当前位置:网站首页>【keil软件】仿真时如何使用逻辑分析仪查看波形
【keil软件】仿真时如何使用逻辑分析仪查看波形
2022-07-22 10:38:00 【夏凉秋落】
转载
在软件仿真时可以通过逻辑分析仪来查看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口速度为50MHz GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOB.5 GPIO_SetBits(GPIOA,GPIO_Pin_8); //PA8 输出高 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //LED1-->PD2 端口配置, 推挽输出 GPIO_Init(GPIOD, &GPIO_InitStructure); //推挽输出 ,IO口速度为50MHz GPIO_SetBits(GPIOD,GPIO_Pin_2); //PD2 输出高 } int main(void) { delay_init(); //延时函数初始化 LED_Init(); //初始化与LED连接的硬件接口 while(1) { LED0 = 0; LED1 = 1; delay_ms(100); //延时100ms LED0 = 1; LED1 = 0; delay_ms(100); //延时100ms } }
PA8和PD2口分别接一个LED灯,主程序中控制LED灯闪烁。
下来看看如何用keil软件仿真,并通过逻辑分析仪观察LED波形。首先点魔术棒,打开设置界面。
特别注意;(PORTD & 0x00000004)>> 2 之所以代表PD2,是因为4为0100刚好是第2位是1 PD2 (PORTA & 0x00000100)>> 8 中的8刚好为100000000,第8位为1 PA8
在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的波形了。
边栏推荐
- 1080 graduate admission (30 points)
- pytorch 动态调整学习率,学习率自动下降,根据loss下降
- VIM learning journey
- 本地镜像发布到阿里云
- AMBert
- JDBC异常SQLException的捕获与处理
- 1068 Find More Coins (30 分)
- 7-2 Rank a Linked List (25 分)
- Latex compiles and reports errors in vscode `recipe terminated with error Retry building the project.
- Advent of code 2020 -- 登机座位问题
猜你喜欢
具有任意电容比的共质心电容阵列的自动生成
考虑器件匹配和寄生最小化的共质心电容器布局生成
DEFORMABLE DETR 论文精度,并解析网络模型结构
有源和无源设备的共质心布局:回顾和未来之路
信号耦合约束下扭曲共质心电容器阵列的布线能力
Her power series III holds the current, adheres to love, and is tied to the scientific research road of food image recognition
基于非线性最坏情况分析的电荷缩放 DAC 中电容器的新棋盘放置和尺寸调整方法
Analysis of class parameters in pytoch, source code analysis of in class member function.Parameters (), acquisition of parameter set, registration and assignment of parameters, source code analysis
链栈实现(C语言)
自动电流镜布局 (ACML) 工具
随机推荐
1064 Complete Binary Search Tree (30 分)
Latex在VSCODE中编译报错`Recipe terminated with error. Retry building the project.
【FPGA】:ip核--rapid io
本地镜像发布到阿里云
Hill sort (minimum incremental sort)
Her power series II UCLA Li Jingyi: the last thing women need to do is "doubt themselves"
【面试:基础篇02:冒泡排序】
IDEA下载源码查看
Aminer paper recommendation
适用于高密度或高精度应用的高度可配置和可扩展的螺旋电容器设计
Deformable Detr paper accuracy, and analyze the network model structure
DETR 論文精讀,並解析模型結構
【面试:基础篇03:选择排序】
具有任意电容比的共质心电容阵列的自动生成
sql优化技巧及注意事项
1053 path of equal weight (30 points)
Simulated student information input interface
vim配置
没有人知道TikTok的最新流行产品Pink Sauce中含有什么成分
Her power series 6 - Yang Di 1: when the girl grows up, she can be good at mathematics and chemistry, and scientific research can be very fresh