完整教程:十七、STM32的TIM(八)(TIM输入捕获)

news/2025/11/29 12:02:27/文章来源:https://www.cnblogs.com/tlnshuju/p/19285900

完整教程:十七、STM32的TIM(八)(TIM输入捕获)

2025-11-29 12:01  tlnshuju  阅读(0)  评论(0)    收藏  举报

介绍:本章主要讲解了 STM32C8T6定时器(TIM) 模块,对 TIM 输入捕获功能 进行了简要说明,并列举了几种常用的测量信号频率的方法。此外,还结合具体实例,详细分析了程序的设计思路与实现过程,帮助读者更好地理解输入捕获在实际应用中的使用方式。

目录

一、介绍

 1.1 简介

 1.2 频率测量

 1.3代码设计思路

二、接线图

三、函数接口

四、代码实现

五、程序现象


一、介绍

 1.1 简介

        1.输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数。

        2.每个高级定时器和通用定时器都拥有4个输入捕获通道。

        3.可配置为PWMI模式,同时测量频率和占空比。

        4.可配合主从触发模式,实现硬件全自动测量

 1.2 频率测量

        1.测量的都是高低电平。

        2.测频法:在闸门时间T内,对上升沿计次,得到N,则频率。(= / f_x=N / T)(适合频率高一点

        3.测周法:两个上升沿内,以标准频率fc计次,得到N ,则频率。(= / f_x=f_c  / N)(适合频率低一点

        4.中界频率:测频法与测周法误差相等的频率点。(= / f_m=√(f_c  / T))

那么这个公式是如何来的呢?就是上面两个公式把N提出来求的解。
如果频率大于中界频率,使用测周法会更好,反之用测频法。

 1.3代码设计思路

        1. 使用测频法:

        我们可以采用“测频法”来获取信号频率,这种方法在之前章节"九、STM32的外部中断(三)”中已经讲过:通过外部中断在信号的上升沿进行计数,同时配合一个1 秒定时器中断实现频率统计。

        具体做法如下:

        在外部中断中对每次上升沿进行计数;

        启动一个周期为 1 秒的定时器中断;

        在定时器中断中读取当前的计数值,这个值就表示信号在 1 秒内的脉冲次数,也就是频率(Hz);

        随后清零计数器,为下一个周期测量做准备。

        为了提高测量稳定性,还可以进行多次采样,对结果进行平均处理,以进一步降低误差。

        2. 测周法:

        接下来代码讲解。

二、接线图

三、函数接口

        1.TIM_PrescalerConfig:这个函数主要用于设置 PSC(预分频器) 的值。之所以不去修改 ARR(自动重装载寄存器),是因为改变 ARR 会直接影响 PWM 的占空比,从而导致输出波形发生变化。为了在保持占空比不变的情况下调整频率,我们选择通过修改 PSC 的值来实现。

四、代码实现

(借鉴十四、STM32的TIM(五)(PWM驱动LED呼吸灯))

        1.PWM_SetPrescaler

void PWM_SetPrescaler(uint16_t Prescaler)
{TIM_PrescalerConfig(TIM2, Prescaler, TIM_PSCReloadMode_Immediate);
}

        2.初始化

void IC_Init(void)
{/*开启时钟*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);			//开启TIM3的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);			//开启GPIOA的时钟/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);							//将PA6引脚初始化为上拉输入/*配置时钟源*/TIM_InternalClockConfig(TIM3);		//选择TIM3为内部时钟,若不调用此函数,TIM默认也为内部时钟/*时基单元初始化*/TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;				//定义结构体变量TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;     //时钟分频,选择不分频,此参数用于配置滤波器时钟,不影响时基单元功能TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; //计数器模式,选择向上计数TIM_TimeBaseInitStructure.TIM_Period = 65536 - 1;               //计数周期,即ARR的值TIM_TimeBaseInitStructure.TIM_Prescaler = 72 - 1;               //预分频器,即PSC的值TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;            //重复计数器,高级定时器才会用到TIM_TimeBaseInit(TIM3, &TIM_TimeBaseInitStructure);             //将结构体变量交给TIM_TimeBaseInit,配置TIM3的时基单元/*输入捕获初始化*/TIM_ICInitTypeDef TIM_ICInitStructure;							//定义结构体变量TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;				//选择配置定时器通道1TIM_ICInitStructure.TIM_ICFilter = 0xF;							//输入滤波器参数,可以过滤信号抖动TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;		//极性,选择为上升沿触发捕获TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;			//捕获预分频,选择不分频,每次信号都触发捕获TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;	//输入信号交叉,选择直通,不交叉TIM_ICInit(TIM3, &TIM_ICInitStructure);							//将结构体变量交给TIM_ICInit,配置TIM3的输入捕获通道/*选择触发源及从模式*/TIM_SelectInputTrigger(TIM3, TIM_TS_TI1FP1);					//触发源选择TI1FP1TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset);					//从模式选择复位//即TI1产生上升沿时,会触发CNT归零/*TIM使能*/TIM_Cmd(TIM3, ENABLE);			//使能TIM3,定时器开始运行
}

        2.获取频率

uint32_t IC_GetFreq(void)
{return 1000000 / (TIM_GetCapture1(TIM3) + 1);		//测周法得到频率fx = fc / N,这里不执行+1的操作也可
}

        3.主函数

int main(void)
{OLED_Init();PWM_Init();IC_Init();OLED_ShowString(1, 1, "Freq:00000Hz");PWM_SetPrescaler(720 - 1);PWM_SetCompare1(50);while (1){OLED_ShowNum(1, 6, IC_GetFreq(), 5);}
}

五、程序现象

       程序运行后的效果是:显示屏上会实时显示 TIM2 的输出频率,测量误差在 ±1 之间。之所以在 IC_GetFreq 函数中进行加一操作,是为了修正显示误差,使屏幕上显示的频率值更加准确、符合预期。

At the end of this article, applaud yourself again!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/980658.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年比较好的布袋定制厂家推荐及选择建议

2025年比较好的布袋定制厂家推荐及选择建议 开篇:布袋定制行业背景与市场趋势 随着环保意识的增强和限塑政策的推行,布袋作为可重复使用的环保产品,市场需求持续增长。无论是企业品牌宣传、促销活动,还是文创产品…

2025 国内稳压器知名品牌最新排行榜

这份榜单不是流量堆砌的虚名,而是基于《中国电源产业发展白皮书 2025》与 SGS 第三方检测报告的精密校准,像给每个品牌装上了透明的「电力仪表盘」一、问题:当电压波动成为生产的「隐形风暴」 你有没有试过 —— 激…

【ArcMap】合并同一条线的多个部分

这种一般是由于点的连接方式不正确,需要重新打断有问题的点,重新按顺序连接 此时就只有一个部分了:

2025年靠谱的高端生态红茶/安全生态红茶推荐TOP生产厂家

2025年靠谱的高端生态红茶/安全生态红茶推荐TOP生产厂家 行业背景与市场趋势 近年来,随着消费者健康意识的提升,生态茶饮市场迎来爆发式增长。据《2024年中国茶叶消费趋势报告》显示,高端生态红茶年增长率达18%,…

2025年比较好的郑州注册公司客户好评推荐

2025年比较好的郑州注册公司客户好评推荐开篇:郑州注册公司服务行业现状与发展趋势随着郑州国家中心城市建设步伐加快,以及"放管服"改革持续深化,郑州市场主体数量呈现快速增长态势。2024年数据显示,郑州…

2025年线上英语培训机构权威推荐榜单:高性价比英语/成人英语培训/英语口语教育培训平台精选

在全球化进程加速的今天,线上英语培训已成为职业发展与学术提升的重要途径,选择合适的教育平台对学习效果至关重要。 随着在线教育技术的成熟和市场需求的扩大,中国在线英语培训市场呈现出蓬勃发展的态势。2025年在…

2025年整流二极管模块生产商权威推荐榜单:肖特基二极管/快恢复二极管/焊机二极管源头厂家精选

在电力电子技术快速发展的今天,整流二极管模块作为电能转换的核心部件,其性能直接影响着工业控制、新能源发电、电动汽车等领域的设备效率与可靠性。随着全球能源转型趋势加速,整流二极管模块市场规模预计将从2023年…

深入解析:关于 密码喷射

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年靠谱的精酿啤酒机/精酿啤酒设备最新TOP排名厂家

2025年靠谱的精酿啤酒机/精酿啤酒设备TOP排名厂家行业背景与市场趋势近年来,随着消费者对啤酒品质和个性化需求的不断提升,精酿啤酒市场呈现出爆发式增长态势。据行业数据显示,2024年中国精酿啤酒市场规模已突破200…

HTML------------------课程表

<!DOCTYPE html> <html><head><meta charset="utf-8"><title>课程表</title></head><body> <table border="1"><tr><th cols…

2025年专业的质量管理体系认证行业企业体系认证推荐榜

2025年专业的质量管理体系认证行业企业体系认证推荐榜行业背景与市场趋势随着全球经济一体化的深入发展和市场竞争的日益激烈,质量管理体系认证已成为企业提升管理水平、增强市场竞争力的重要手段。2025年,质量管理体…

2025年靠谱的树脂瓦厂家推荐及采购指南

2025年靠谱的树脂瓦厂家推荐及采购指南行业背景与市场趋势随着我国建筑行业的持续发展和乡村振兴战略的深入推进,树脂瓦作为一种新型环保建材,近年来市场需求呈现稳定增长态势。树脂瓦以其重量轻、强度高、防水防潮、…

2025年专注离婚财产分割的离婚财产分割律师热门榜单

2025年专注离婚财产分割的离婚财产分割律师热门榜单行业背景与市场趋势随着社会经济的发展和人们婚姻观念的转变,我国离婚率近年来呈现上升趋势。根据民政部数据显示,2024年全国离婚登记数量达到历史新高,其中涉及财…

优秀可靠的小程序开发公司推荐

选择一家专业、可靠的小程序开发公司对企业的发展至关重要。推来客网络以其专业技术、优质服务及高性价比的优势,成为成都地区小程序开发公司的优选。如果您正在寻找一家可信赖的小程序开发公司,不妨考虑推来客网络,…

小程序开发企业2025推荐,高性价比与专业定制兼具

推来客网络始终坚持以客户为中心,贯彻“同样的产品比价格、同样的价格看产品”的原则。相比市场上的其他小程序开发企业,推来客网络的报价低于市场价30%50%。这样并非单纯为了竞争,而是为了积累更多客户的信任与合作…

2025年海南人力资源管理师培训服务权威推荐榜单:人力资源管理师考证/高级人力资源管理师培训/中级人力资源管理师培训优质机构精选

在海南自由贸易港建设蓬勃发展的背景下,人力资源管理师已成为当地人才市场最炙手可热的专业岗位之一。 随着海南自贸港政策红利的持续释放,人力资源服务行业迎来了前所未有的发展机遇。据统计,海南人力资源管理师持…

2025年专业的短视频运营行业领先榜

2025年专业的短视频运营行业榜开篇:短视频运营行业背景与市场趋势随着5G技术的全面普及和移动互联网的深入发展,短视频行业在2025年迎来了前所未有的发展机遇。据统计数据显示,2025年中国短视频用户规模已突破9亿,…

2025年北京名表回收公司权威推荐榜单:银元回收/钻戒回收‌/钻石回收‌源头公司精选

在二手奢侈品市场企稳回暖的背景下,专业名表回收服务正以规范的鉴定流程和透明的估价体系,成为名表流通和价值释放的重要环节。 据市场分析数据显示,截至2025年第一季度,全球二手奢侈手表价格跌幅已收窄至0.4%,为…

LAUNCH EVT511: Reliable EV Battery Airtightness Testing for Mechanics Owners

EV Battery Sealing: The Non-Negotiable Safety Check Every Repair Must Include As electric vehicles (EVs) dominate European and American roads, battery repair and maintenance have become critical for bo…

iFlow x Kimi K2实战案例:10分钟完成IP段设置任务

iFlow x Kimi K2实战案例:10分钟完成IP段设置任务pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…