STM32F0xx_TIM输入捕获(计算频率)配置详细过程

发布者:RadiantEnergy最新更新时间:2017-09-15 来源: eefocus关键字:STM32F0xx  TIM输入捕获  计算频率 手机看文章 扫描二维码
随时随地手机看文章

前言

    关于STM32的定时器,可谓是功能强大,估计没有多少人研究完STM32定时器的所有功能(包括我也没有),只是使用常用的一些功能,后续我会推出关于STM32定时器的更多功能。

    STM32芯片多数为16位计数,但基本上都有1个或两个32位的定时器,可惜的是我们最常使用的F1系列芯片中没有32位的定时器,F030中也没有,具体请看数据手册。

    今天主要总结关于STM32F0系列输入捕获,捕获信号频率,即所谓逻辑分析仪检测数字频率的功能。

    今天使用32位的TIM2作为捕获的定时器,为什么是32位,原因很简单,就是为了捕获(采集)更宽频率的波形,今天提供的工程可以采集0Hz - 10MHz的波形(建议2MHz一下,串口打印需要时间)。而16位就不行,提醒使用F1的朋友要注意这一点。官方提供的例程也是16位,检测的范围同样有限。

 

下载

    ST标准外设库和参考手册、数据手册等都可以在ST官网下载,你也可以到我的360云盘下载。关于F0系列芯片的参考手册有多个版本(针对F0不同芯片),但有一个通用版本,就是“STM32F0x128参考手册V8(英文)2015-07”建议参考该手册,以后如果你换用一种型号芯片也方便了解。

 

今天的软件工程下载地址(360云盘):

https://yunpan.cn/cSztEbetLczKY  访问密码

 

STM32F0xx的资料可以在我360云盘下载:

https://yunpan.cn/cS2PVuHn6X2Bj  访问密码 8c37

 

今天工程测试效果(视频):

https://yunpan.cn/cSziVGGZbMagj  访问密码 5731

 

准备工作

    今天总结的软件工程是基于“TIM基本延时配置详细过程”修改而来,因此需要将该软件工程下载准备好。今天将源代码添加在timer.c文件里面,就不需要新建文件了。

 

捕获原理

    看系统框图,今天使用分频的方式来采集波形,官方提供的例程是没有配置TimeBase参数,也没有分频,分频的好处在于不是非常实时的获取波形,这样有利于提供精度(可以说是计算平均值)。捕获外部8个脉冲,前后读取一下计数的值,这个值就是外部脉冲的差值,从而计算出频率。


 

 

配置过程详情

①RCC时钟


该函数位于bsp.c文件下面;

我个人习惯第一步配置时钟,ST官方提供的例程也是把配置时钟放在前面。关于RCC时钟的配置比较重要,有好几次我就是由于忘记配置相应RCC时钟,让我找了很久的问题,最后才发现是RCC时钟没有配置。

注意:

外设时钟不要随便添加,比如:RCC_APB1外设不要配置在RCC_APB2时钟里面【如:RCC_APB2PeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);这样能编译过,但是错误的】

我每次都提醒RCC时钟,是因为很多人就是因为时钟而导致软件运行有问题,所以,提醒更多人要注意配置RCC.

 

②捕获引脚配置


该函数位于timer.c文件下面;

重点注意:

引脚配置要和对应通道匹配才行(请看数据手册中的引脚说明)。

复用功能同样也是需要配置。

 

③TIM捕获配置


该函数位于timer.c文件下面;

这里的分频值配置为一样,方便计算。

 

④捕获频率的计算


该函数位于stm32f0xx_it.c文件下面;

这个函数就是捕获中断函数,采集8个脉冲的前后中断一次,即读取一下计数值,通过计数值的差就可以算出频率了。

 

说明

STM32F0的芯片软件兼容性很好,可以适用于F0其他很多型号的芯片(具体请看手册、或者亲自测试)。


关键字:STM32F0xx  TIM输入捕获  计算频率 引用地址:STM32F0xx_TIM输入捕获(计算频率)配置详细过程

上一篇:STM32F0xx_DAC输出电压配置详细过程
下一篇:STM32F0xx_ADC采集电压配置详细过程

推荐阅读最新更新时间:2024-03-16 15:37

频率计测试中的精度计算
  频率计作为高精度的频率和时间测试仪表,测试精度高于普通的频谱仪和示波器,所以测试精度的计算就更加为人关注。影响测试精度,或者说产生误差的因素很多,而其中最主要的因素是仪表内部时基稳定度、分辨率、触发精度及内部噪声等。   频率和周期的测试精度   频率和周期互为倒数,所以在频率计的测试中,频率和周期的误差计算方法是一样的。从测试误差的产生来说主要有两类,一类是随机误差,一类是系统误差。随机误差主要由于如噪声或者一些随机因素产生的误差,很难消除。系统误差主要是由于测试方法、仪表设置或者仪表性能引起的误差。不同的设备制造商都有自己的关于误差的计算方法,大同小异,本文论述泰克FCA3000系列频率计测试误差的计算方法。   
[测试测量]
<font color='red'>频率</font>计测试中的精度<font color='red'>计算</font>
STM32F4_TIM输入波形捕获(脉冲频率
Ⅰ、概述 本文在前面文章“STM32基本的计数原理”的基础上进行拓展,讲述关于“定时器输入捕获”的功能,和上一篇文章“定时器比较输出”区别还是挺大的。在引脚上刚好相反:一个输入、一个输出。 本文只使用一个TIM5通道3(也可其他通道)捕获输入脉冲的频率,通过捕获两次输入脉冲的间隔时间来计算脉冲波形的频率。间隔一定时间读取频率并通过串口打印出来。 当然也可通过两路通道捕获脉冲信号的占空比,计划后期整理。 笔者通过信号发生器产生信号,上位机串口助手显示捕获的脉冲频率。(没有信号发生器的朋友可以结合上一篇文章PWM输出做信号源:在同一块板子上也可以使用不同定时器,将输出引脚接在输入引脚) 先看一下实例的实验现象: 关于本文
[单片机]
STM32F4_<font color='red'>TIM</font><font color='red'>输入</font>波形<font color='red'>捕获</font>(脉冲<font color='red'>频率</font>)
网络分析仪设定电延迟,如何通过频率计算等效相位延迟?
根据电延迟,可通过以下公式计算等效相位延迟: θ°= Ftest * Delay * 360 其中: θ° = 等效相位 Ftest = 频率(Hz) Delay = 延迟(秒) 360 = 弧度到度数的转换系数 例如: 起始频率:1.0 GHz;终止频率:2.0 GHz;点数:201 通过是德电子校准件(ECal)进行完整的双端口校准 单通道,双迹线,两个窗口,每个窗口显示一条迹线 被测件――Keysight N4419AK20,3.5mm 阳头至 3.5mm 阴头电缆组件。 上边的窗口,‘Tr1’,S21,Format Phase(格式相位),Delay = 0S(无电延迟) 下边的窗口,‘Tr2’,S21,
[测试测量]
网络分析仪设定电延迟,如何通过<font color='red'>频率</font><font color='red'>计算</font>等效相位延迟?
STM32F0xx_GPIO配置详细过程
前言 对于初学STM32的人来说,很多基础的知识没有掌握,这些基础知识就成为阻挡他们入门的门槛。因此,今天也把基础的知识分享出来,带领那些还没有迈过这个门槛的人入门。 今天总结“GPIO配置详细”,以F0标准外设库初始化结构体来重点讲解。接着昨天“新建软件工程详细过程”来进行讲解,今天分两大部分内容总结。工程描述、IO配置源代码详细讲解。 下载 ST标准外设库和参考手册、数据手册等都可以在ST官网下载的到(请自行下载)。关于F0系列芯片的参考手册有多个版本(针对F0不同芯片),但有一个通用版本,就是“STM32F0x128参考手册V8(英文)2015-07”建议使用这个,以后如果你换用一种型号芯片也方便了解。 今天提供下载的软
[单片机]
STM32F0xx_GPIO配置详细过程
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved