一、简介 本文介绍如何使用逻辑分析仪,以测试STM32的延时函数的实际时长。
二、实验平台 库版本:STM32F10x_StdPeriph_Lib_V3.5.0 编译软件:MDK4.53 硬件平台:STM32开发板 仿真器:JLINK
三、版权声明
[size=13.6364px]
[size=13.6364px]四、实验前提
在进行本文步骤前,请先阅读并实现以下博文:
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的区别。说明此廉价的逻辑分析仪还是挺准的。
|