输入捕获——测距超声波模块

一、输入捕获通道
1、直接模式:Channel1(上升沿触发)
2、间接模式:Channel1(下降沿触发)
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
二、中断设置、读取数据及处理
1、中断设置
HAL_TIM_Base_Start(&htim5);
HAL_TIM_IC_Start(&htim5, TIM_CHANNEL_1); //获得上升沿捕获的值
HAL_TIM_IC_Start_IT(&htim5, TIM_CHANNEL_2); //获得下降沿捕获的值
2、捕获中断 读取数据及处理
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
if(htim==&htim5 && htim->Channel==HAL_TIM_ACTIVE_CHANNEL_2){
Up_Data=HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1);
Down_Data=HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_2);
distance=(Down_Data-Up_Data)*0.034/2;
}
}
3、显示
sprintf(message,“distance: %.2fcm”,distance);
lcd_show_string(20, 190, 200, 16, 16, message, WHITE);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值