KEIL中逻辑分析仪的使用
本学期开了门嵌入式的课程,在实验课上用到了一款基于ARM Cortex-M3处理器的LPC1768的实验板。本来这种课程我觉得应该可以学到很多东西,可是我发现实验课上老师基本只是讲了xx实验课的要求,然后你就拿着人家建好的工程编好的程序跑起来,仅仅只是运行了一下程序就可以结束了这个实验。学生学到的东西真的太少,比如如何调试的问题,你如何能知道你编写的代码输出是不是你想要的?你如何知道你编写的代码的效率是不是符合要求的?这些老师都不会教你。所以我觉得要想真正学到东西,无论什么时候都得靠自己。
见网上有不少百度“如何在Keil中使用逻辑分析仪“的帖子。其实这个在以前用51的时候自己做过了,不过没有整理下来。现在觉得还是有必要把学到的都记录下来,给自己复习,与大家分享。
下面就“如何在Keil中使用逻辑分析仪”进行讲解,小编会用简单的语言和图片进行阐述,你一定可以掌握。
如图主程序所示,程序的目的是要产生精确的1Hz的方波信号,则方波信号的高电平占0.5s,低电平占0.5s,本程序利用定时器的定时功能,每0.5s时间到则将P3.25引脚输出的电平翻
转一次,从而可实现完整的1Hz方波信号的输出。

程序写好了,编译好了,那么下边就要使用逻辑分析仪进行软件调试,看看输出是不是你想要的波形。
首先进入调试模式,(讲解的时候我就从菜单栏而不用快捷面板上的快捷按钮吧,也为了让大家熟悉所使用的工具在哪个菜单下。)
菜单栏的Debug下拉菜单的start/stop debug session选项,

然后调出逻辑分析仪,(只有进入调试模式才可以看到逻辑分析仪)。在菜单栏的View下拉菜单中找到Analysis Windows就看到逻辑分析仪了

点出来之后就是下边的窗口了:

下边是如何设置的问题。
首先你要知道那些引脚可以被检测到,你可以在命令行窗口输入dir vtreg,如图所示:

然后就可以显示出那些引脚是可以被检测到的。本程序我检测的是P3.25脚,即PORT3口的25脚。
然后点击逻辑分析仪面板左上角的setup开始设置,新建插入(红叉叉旁边)直接输入port3.25回车就可以了:

然后设置成下边的形式,意思是将port3口的值与上0x02000000后就只剩下P3.25的状态值,然后右移25位出来。

最后点击run全速运行就可以看到输出的波形了:

如图所示一个脉冲间隔0.499957符合我们的要求。
KEIL中逻辑分析仪的使用的更多相关文章
- KEIL中启动文件详解(汇编语言)
原文在此:http://www.cnblogs.com/mddblog/p/4920063.html 概述 在嵌入式系统中,启动文件是整个系统非常关键的部分,它会进行一些底层的初始化,构建程序运行必要 ...
- keil中出现Undefined symbol FLASH_PrefetchBufferCmd (referred from main.o)等问题解决办法
在keil中仿照别人的程序写了RCC初始化的程序,编译后出现以下问题 .\obj\pro1.axf: Error: L6218E: Undefined symbol FLASH_PrefetchBuf ...
- keil中的串口调试:
keil中串口的虚拟调试信息在通过View-serial windows-#usart1/2/3/4/debug(printf)可以看到.当然也可以通过虚拟串口VSPD+串口调试助手在外部实现,方法如 ...
- Keil中的code关键字
一般说来,我们在C语言中定义的每一个变量初始化后都会占用一定的内存(RAM)空间.但是在keil中提供了一个特殊的关键字“code”,这个关键字在标准C中是没有的.其语法举例如下: unsigned ...
- 关于keil中data,idata,xdata,pdata,code的问题
转自关于keil中data,idata,xdata,pdata,code的问题 从数据存储类型来说,8051系列有片内.片外程序存储器,片内.片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类 ...
- 在KEIL中的模块化程序写法
在使用KEIL的时候,我们习惯上在一个.c的文件中把自己要写的东西按照自己思路的顺序进行顺序书写.这样是很普遍的写法,当程序比较短的时候比如几十行或者一百多行,是没有什么问题的.但是当程序很长的时候, ...
- 在keil中使用Astyle格式化你的代码的方法
一个好的程序,不仅要有好的算法,同时也需要有良好的书写风格.写出好的算法不容易,但是好的代码风格却并不困难.提到格式化代码,Astyle是一个不能错过的工具,它可以方便的将程序代码格式化成自己想要的样 ...
- keil中for循环变量递减,无法跳出循环的问题
定义j时应注意其变量类型char,此循环当j=0时,再执行一次则keil中j=0XFF,而不是-1,所以无法跳出循环.但在vc6.0中是可以跳出循环的. 解决办法如下:不能让j的值为负数 uchar ...
- keil中使用_at_绝对地址定位
使用_at_关键字对存储器进行绝对地址定位程序如下: #include<reg51.h> ] _at_ 0x8000; main() { LED_Data[] = 0x23; } 在kei ...
随机推荐
- PHP+Jquery+Ajax 实现动态生成GUID、加载GUID
GUID: 全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符.GUID主要用于在拥有多个节点.多台计算机的网络或系统中 ...
- perl open函数
open(DATA, "<file.txt"); # <只读打开file.txt ,DATA作为句柄 open(DATA, ">file.txt&quo ...
- 最强 IDE Visual Studio 2017 正式版发布
Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试.实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航.IntelliSense.重构.代码修复和调试等等 ...
- Kubernetes 1.5安装
Kubernetes从1.3开始引入kubeadm来试图简化其复杂的安装.但kubeadm至今仍不稳定,而且我个人觉得kubeadm反而麻烦,还不如直接用脚本或者其他自动化工具来安装来的利索.关于ku ...
- TensorBoard:Visualizing Learning 学习笔记
为了更方便的理解.调试和优化TF程序,我们可以使用TensorBoard(可视化工具).可以使用TensorBoard查看graph,绘制图表执行过程中的定量指标.TensorBoard是完全可配置的 ...
- matplotlib根据Y轴数量伸缩画图的py脚本
#coding:utf-8import numpy as npimport matplotlib.pyplot as plt #X,Y轴数据y = [20,59,11,12,16,20,15,12,1 ...
- 阿里云Linux启动tomcat并能外网访问
问题描述: 先描述一下我的心路历程吧,新买了阿里云服务器,由于需求不是很大,只是为了备案,所以买了个最低配的,而且是Windows server2012的.那现在需要做的是在这个乞丐版的server上 ...
- C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(下)
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(下)),不对的地方欢迎指出与交流. 章节出自<Professional C# ...
- 一文让你从此告别HTTP乱码(二)Response篇
#circle { background-color: #8fcbec; border: 3px } 概述 开发Web项目的过程中,经常遇到浏览器中显示的内容乱码,或者服务器获取浏览器请求参数时乱码的 ...
- 遍历Arraylist的方法
package com.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; publ ...