欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

通用定时器作为输入捕获的使用 超声波 HC-SR04

程序员文章站 2022-06-18 15:52:00
通用定时器作为输入捕获的使用TIM5 的通道 1(PA0) 来做输入捕获,捕获 PA0 上高电平的脉宽(用 KEY_UP 按键输入高电平),通过串口打印高电平脉宽时间输入捕获模式可以用来测量脉冲宽度或者测量频率1.首先设置定时器通道 x 为上升沿捕获,这样, t1 时刻,就会捕获到当前的 CNT 值,2.然后立即清零 CNT,并设置通道 x为下降沿捕获,这样到 t2 时刻,又会发生捕获事件,得到此时的 CNT 值,记为 CCRx2。 这样,根据定时器的计数频率,我们就可以算出 t1~t2 的...

通用定时器作为输入捕获的使用

TIM5 的通道 1(PA0) 来做输入捕获,
捕获 PA0 上高电平的脉宽(用 KEY_UP 按键输入高电平),
通过串口打印高电平脉宽时间

输入捕获模式可以用来测量脉冲宽度或者测量频率
通用定时器作为输入捕获的使用 超声波 HC-SR04

1.首先设置定时器通道 x 为上升沿捕获,这样, t1 时刻,就会捕获到当前的 CNT 值,
2.然后立即清零 CNT,并设置通道 x为下降沿捕获,这样到 t2 时刻,又会发生捕获事件,得到此时的 CNT 值,记为 CCRx2。 这样,
根据定时器的计数频率,我们就可以算出 t1~t2 的时间,从而得到高电平脉宽。
CNT计数的次数等于: N*ARR+CCRx2
乘以 CNT 的计数周期
可得到 t2-t1 的时间长度,即高电平持续时间。

通用定时器作为输入捕获的使用 超声波 HC-SR04
通用定时器作为输入捕获的使用 超声波 HC-SR04
通用定时器作为输入捕获的使用 超声波 HC-SR04
通用定时器作为输入捕获的使用 超声波 HC-SR04
通用定时器作为输入捕获的使用 超声波 HC-SR04

通用定时器作为输入捕获的使用 超声波 HC-SR04

Vcc:+5V电源供电
Trig:输入触发信号(可以触发测距)PD11
Echo:传出信号回响(可以传回时间差)PA0
Gnd:接地
NVIC_InitStructure.NVIC_IRQChannel = TIM5_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//抢占优先级3
NVIC_InitStructure.NVIC_IRQChannelSubPriority =0; //子优先级3
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化VIC寄存器

本文地址:https://blog.csdn.net/qq_35988224/article/details/107905424

相关标签: stm32