STM32 TIM输入捕获测频率占空比库函数

这篇具有很好参考价值的文章主要介绍了STM32 TIM输入捕获测频率占空比库函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、输入捕获初始化函数

TIM_ICInit

TIM_PWMIConfig

TIM_ICStructInit

二、主从触发模式对应函数

TIM_SelectInputTrigger

TIM_SelectOutputTrigger

TIM_SelectSlaveMode

三、配置分频器函数

TIM_SetIC1Prescaler

TIM_SetIC2Prescaler

TIM_SetIC3Prescaler

TIM_SetIC4Prescaler

四、读取CCR函数

TIM_GetCapture1

TIM_GetCapture2

TIM_GetCapture3

TIM_GetCapture4


一、输入捕获初始化函数

TIM_ICInit

结构体配置输入捕获单元函数

  • 第一个参数,选择定时器
  • 第二个参数,包含各个配置的结构体

        输入捕获和输出比较都有4个通道,函数TIM_OC1Init、TIM_OC2Init、TIM_OC3Init、TIM_OC4Init,4个通道每个通道单独占一个函数。而TIM_ICInit函数,4个通道共用一个函数。在结构体里会额外有一个参数,可以用来选择具体是配置哪个通道。因为可能有交叉通道的配置,所以函数合在一起比较方便。

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

代码示例:

	TIM_ICInitTypeDef TIM_ICInitStructure;
	TIM_ICInitStructure.TIM_Channel=TIM_Channel_2;//TIM_Channel选择通道
	TIM_ICInitStructure.TIM_ICFilter=0xF;//TIM_ICFilter用来配置输入捕获的滤波器
	TIM_ICInitStructure.TIM_ICPolarity=TIM_ICPolarity_Falling;//TIM_ICPolarity极性,
	TIM_ICInitStructure.TIM_ICPrescaler=TIM_ICSelection_DirectTI;//TIM_ICPrescaler分频器
	TIM_ICInitStructure.TIM_ICSelection=TIM_ICSelection_IndirectTI;//TIM_ICSelection配置数据选择器
	TIM_ICInit(TIM3,&TIM_ICInitStructure);

TIM_PWMIConfig

函数用于初始化输入捕获单元。

  • TIM_ICInit函数只能单一地配置一个通道。
  • TIM_PWM函数可以快速配置两个通道,把外设电路结构配置成PWMI基本结构图所展示的模式。

代码注释:

/**
  * @brief  Configures the TIM peripheral according to the specified
  *         parameters in the TIM_ICInitStruct to measure an external PWM signal.
  * @param  TIMx: where x can be  1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral.
  * @param  TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure
  *         that contains the configuration information for the specified TIM peripheral.
  * @retval None
  */

代码示例:

TIM_ICInitTypeDef TIM_ICInitStructure;
TIM_ICInitStructure.TIM_Channel=TIM_Channel_1;//TIM_Channel选择通道
TIM_ICInitStructure.TIM_ICFilter=0xF;//TIM_ICFilter用来配置输入捕获的滤波器
TIM_ICInitStructure.TIM_ICPolarity=TIM_ICPolarity_Rising;//TIM_ICPolarity极性
TIM_ICInitStructure.TIM_ICPrescaler=TIM_ICSelection_DirectTI;//TIM_ICPrescaler分频器
TIM_ICInitStructure.TIM_ICSelection=TIM_ICSelection_DirectTI;//TIM_ICSelection配置数据选择器
TIM_PWMIConfig(TIM3,&TIM_ICInitStructure);

TIM_ICStructInit

函数可以给输入捕获结构体赋一个初始值。

代码注释:

/**
  * @brief  Fills each TIM_ICInitStruct member with its default value.
  * @param  TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure which will
  *         be initialized.
  * @retval None
  */
void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct)
{
  /* Set the default configuration */
  TIM_ICInitStruct->TIM_Channel = TIM_Channel_1;
  TIM_ICInitStruct->TIM_ICPolarity = TIM_ICPolarity_Rising;
  TIM_ICInitStruct->TIM_ICSelection = TIM_ICSelection_DirectTI;
  TIM_ICInitStruct->TIM_ICPrescaler = TIM_ICPSC_DIV1;
  TIM_ICInitStruct->TIM_ICFilter = 0x00;
}

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

二、主从触发模式对应函数

三个函数对应主从触发模式图中的三个部分。

TIM_SelectInputTrigger

        选择输入触发源TRGI,对应主从触发模式图中的从模式触发源选择,调用这个函数就能选择从模式的触发源了,如TI1FP1等。

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

代码示例:

	TIM_SelectInputTrigger(TIM3,TIM_TS_TI1FP1);

TIM_SelectOutputTrigger

选择输出触发源TRGO,对应主从触发模式图中的选择主模式输出的触发源。

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

 代码示例:

	TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Update);

TIM_SelectSlaveMode

选择从模式,对应主从触发模式图中的从模式选择的部分。

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

 代码示例:

	TIM_SelectSlaveMode(TIM3,TIM_SlaveMode_Reset);

三、配置分频器函数

        以下四个函数分别单独配置通道1、2、3、4的分配器,其参数结构体里也可以配置,是一样的效果。

TIM_SetIC1Prescaler

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

TIM_SetIC2Prescaler

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

TIM_SetIC3Prescaler

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

TIM_SetIC4Prescaler

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

四、读取CCR函数

        TIM_GetCapture1、TIM_GetCapture2、TIM_GetCapture3、TIM_GetCapture4函数读取4个通道的CCR,这四个函数和TIM_SetIC1Prescaler、TIM_SetIC2Prescaler、TIM_SetIC3Prescaler、TIM_SetIC4Prescaler四个函数是对应的,读写的都是CCR寄存器。

  • 输出比较模式下,CCR是只写的,选择用TIM_SetCompare1、TIM_SetCompare2、TIM_SetCompare3、TIM_SetCompare4函数写入。
  • 输入捕获模式下,CCR是只读的,要选择用TIM_GetCapture1、TIM_GetCapture2、TIM_GetCapture3、TIM_GetCapture4函数读出。

TIM_GetCapture1

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

TIM_GetCapture2

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

TIM_GetCapture3

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机

TIM_GetCapture4

STM32 TIM输入捕获测频率占空比库函数,STM32,stm32,嵌入式硬件,单片机文章来源地址https://www.toymoban.com/news/detail-830907.html

到了这里,关于STM32 TIM输入捕获测频率占空比库函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32——输入捕获IC(测试频率以及PWMI测试频率占空比)

    目录 一、IC介绍 1.1、IC作用 1.2、电路部分  1.2.1、详细电路作用  1.2.2、从模式控制器 1.3、输入捕获配置基本结构 1.3.1、PWMI模式 二、代码配置 2.1、从模式函数 2.1.1、TIM_SelectInputTrigger() 2.1.2、TIM_SelectSlaveMode() 2.1.3、TIM_SelectSlaveMode() 2.2.输入捕获及时基单元函数 2.2.1、

    2024年01月25日
    浏览(41)
  • 11、江科大stm32视频学习笔记——输入捕获模式测频率、PWMI模式测频率占空比

    目录 一、知识点 1、IC(Input Capture)输入捕获 2、通用定时器结构 (1)输出比较的执行逻辑 (2)四个输入捕获和输出比较通道 (3)输入捕获的执行流程和输出比较的区别 (4)输入捕获的作用 (5)输入捕获通道 (6)PWMI模式:同时测量频率和占空比 (7)主从触发模式:

    2024年02月13日
    浏览(45)
  • STM32笔记——定时器输入捕获功能(测量PWM的频率和占空比)

    目录 一、概述 二、输入捕获功能 2.1 输入捕获简介 2.2 输入捕获通道  三、输入捕获功能测量PWM波的频率和占空比 3.1 测量频率的方法 3.2 测量过程         主要介绍通用定时器的输入捕获功能,输入信号由GPIO口进入输入捕获通道,之后输入部分对相应的TIx输入信号采样,并

    2024年02月06日
    浏览(85)
  • 基于HAL库的STM32单定时器多路输入捕获测量PWM的频率和占空比实现(状态机方式实现)

    目录  写在前面 先回顾下定时器的单路捕获PWM 多路捕获PWM的频率和占空比(状态机实现) 我的思路: 状态图 配置 给出示例代码 测试效果         先有了这篇文章实现了单定时器的多通道测量频率,以外部时钟的方式可测量任意频率的方波),奈何不能多路测试PWM波的频率,

    2024年02月12日
    浏览(51)
  • 【STM32学习】——定时器输入捕获(IC)&PWMI模式&频率测量方法&主从触发模式&IC模式测频&/PWMI模式测频率及占空比

    声明:学习笔记根据b站江科大自化协stm32入门教程编辑,仅供学习交流使用! 注意:读完大约需要15分钟,但会收获满满!! 输入捕获部分一共两个实操案例程序: 输入捕获模式测频率、PWMI模式测频率和占空比。 测频法利用之前的外设就可实现,如对射式红外传

    2024年02月16日
    浏览(47)
  • 普中STM32-PZ6806L开发板(HAL库函数实现-TIM5 设置 PWM input, 获取频率跟占空比)

    连线 APIs 创建项目 参考 普中STM32-PZ6806L开发板(HAL库函数实现-PWM呼吸灯), 使用同一个GPIO口PC7产生PWM,然后PA0引脚进行捕获 初始化TIM5 CH1 合并通道, 选项为PWM输入到CH1, 这里其实就是合并1和2通道使一个采集上升沿一个采集下降沿 主从模式开启, 先启动会等待另外一个同步启动

    2024年02月19日
    浏览(41)
  • STM32外设之TIM定时器使用及输出比较模式PWM生成,PWM频率和占空比计算,文末有固件库TIM驱动文件的函数讲解

    过来人的经验分享: TIM定时器在我们学习STM32的过程中是一个重要且稍微有点难度的外设了,就拿从学校里做的项目来说用到的也是一些基本的外设配置和传感器等等。TIM作为外设中稍微有点难度的外设相当关键,学好TIM,对以后学习单片机开发也有很大帮助。 定时器是stm3

    2024年02月07日
    浏览(48)
  • 输入捕获模式测频率&PWM输入模式(PWMI)测占空比

    输出比较: 比较电路输入的CNT、CCR大小关系 ,在通道引脚输出高低电平 N/fc得到标准频率的时长,也就是待测频率的周期 测频法代码实现:修改对射式红外传感器计次(上升沿计次)、定时器外部时钟(1s中断)  测频法:定时器中断,并记录捕获次数;测周法:捕获中断

    2024年02月19日
    浏览(43)
  • STM32—TIM:基本定时器(输入捕获:测频率、周期)(标准库)

     频率测量:  频率中界频率:适用测周法                                                           频率中界频率:适用测频法 第一步:配置GPIO,TIM的时基单元              在配置TIM的时基单元参数有些许不同。 初始化输入捕获单元:void TIM_ICInit();   配置触发

    2024年02月13日
    浏览(50)
  • STM32 HAL 检测PWM频率/占空比

    配置的系统时钟是100M,Timer的时钟也是100M Timer 的频率为:100M 分频 1000 = 0.1MHz 也就是定时器 每10us 计一个数 打开TIM4_CH2引脚中断 在 main.c 中开启中断 TIM4_CH2引脚中断回调 占空比%: TempPIpre *100 / TempPIpul 周期T: TempPIpul * 10us 频率f: 1 / T

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包