| 一、简介 本文介绍如何使用逻辑分析仪,以测试STM32的延时函数的实际时长。 
 
 二、实验平台 库版本:STM32F10x_StdPeriph_Lib_V3.5.0 编译软件:MDK4.53 硬件平台:STM32开发板 仿真器:JLINK 
 
 三、版权声明 
 
 四、实验前提
 在进行本文步骤前,请先阅读并实现以下博文:
 1、《STM32之系统滴答定时器》:http://blog.csdn.NET/feilusia/article/details/52835711
 
 五、基础知识
 
 1、逻辑分析仪是什么? 答:逻辑分析仪是分析数字系统逻辑关系的仪器。 与示波器类似,逻辑分析仪能抓取引脚的电平时序。 
 
 2、逻辑分析仪和示波器的区别是什么? 答: 1)逻辑分析仪 ①优点:能同时抓取多通道(如8个通道、16个通道)的电平时序。 ②缺点:只能观察高低电平、不能查看具体电压大小。 
 2)示波器 ①优点:能抓取到实际波形的形态。 ②缺点:一般只能同时抓取最多4通道的电平时序。 
 所以,需要观察多通道时序时,建议使用逻辑分析仪;需要观察波形的具体形态时,建议使用示波器。
 3、本文使用的逻辑分析仪是什么?
 1)购买地址:
 https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-15079397460.11.v34Yc3&id=43845903682
 2)基本介绍:此套逻辑分析仪非常强大,由于该软件为国外开源软件,因此售价非常便宜。该上位机软件自带协议分析,方便工程师查看时序。
 
 六、实验步骤
 1、测试代码
 
 [cpp] view plain copy
 
 
 
 GPIO_ResetBits(GPIOB, GPIO_Pin_12);  GUA_Delay_us(1000000);        GPIO_SetBits(GPIOB, GPIO_Pin_12);  
 也就是先拉低PB12口,经过1S的延时,再拉高PB12口。通过逻辑分析仪来测试这个低电平的时长,以此来确定延时函数的准确性。
 
 2、硬件连接
 
  
 
 3、上位机软件使用
 1)安装卖家提供的软件
 
  
 
 2)配置并开启逻辑分析仪
 
  
 当上位机检测到逻辑分析仪的USB正常连接时,会显示connected。
 
 七、实验结果
 仿真开发板并设置断点在测试代码中,可测得以下时序:
 
  
 可以从上图右框中看到时长为1.000110500S的低电平,而测试代码中延时的是1S。
 也就是1S有110.5us的误差,香瓜认为这个误差有些大,当然这个误差包含IO口置位时间+逻辑分析仪本身误差时间。
 注:香瓜将此逻辑分析仪与公司中的超大台逻辑分析仪的结果进行对比,1S仅相差不到2us的区别。说明此廉价的逻辑分析仪还是挺准的。
 
 
 
 |