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

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寄存器

相关文章:

  • 2021-12-23
  • 2021-07-19
  • 2021-05-19
  • 2021-12-16
  • 2021-08-23
  • 2021-11-24
  • 2021-10-22
  • 2022-02-08
猜你喜欢
  • 2022-12-23
  • 2022-01-02
  • 2021-12-16
  • 2021-12-29
  • 2021-06-24
  • 2022-01-02
相关资源
相似解决方案