记录-脉冲捕获功能

硬件条件

  1. HC-SR04超声波模块
  2. STM2F103RBT6 定时器3CH1通道

涉及知识

单脉冲的产生

本来一开始想使用定时器产生PWM波作为HC-SR04的触发信号的,后来发现测得的距离一直很古怪,后来才发现需要先产生单脉冲,然后等待超声波完成一次完整的收发过程之后再发送第二次脉冲。所以,只需要如下简单的代码就可以产生超声波模块所需要的触发信号:

#define Trigger PAout(5)
//HCSR04.c文件
GPIO_InitTypeDef GPIO_A;
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_A.Pin=GPIO_PIN_5;
GPIO_A.Mode=GPIO_MODE_OUTPUT_PP;
GPIO_A.Pull=GPIO_PULLUP;
GPIO_A.Speed=GPIO_SPEED_HIGH;
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
HAL_GPIO_Init(GPIOA,&GPIO_A);
...
//main.c
Trigger=1;
delay_us(12);
Trigger=0;

定时器输入捕获

输入捕获脉宽测量原理
当检测到上升沿时,清零定时器此时的CNT值,同时设置定时器CHx通道为下降沿捕获。设定时器的频率为 T c o u n t e r T_{counter} Tcounter,则定时器自加1所需时间为 1 T c o u n t e r \frac{1}{T_{counter}}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值