STM32 CubeIDE 超声波测距

将超声波测距模块与stm32连接配置其接口(PA10---PA11)

PA10是TIM1的通道3对应的GPIO口

在TIM1将时钟源设置为内部时钟源,将通道3设置为输入捕获直接模式(Input Capture direct mode)将通道4设置为输入捕获间接模式(Input Caputre indirect mode)。将定时器的预分频器设置为72分频使计数器的频率为1MHz。在输入捕获通道3默认保持上升沿检测,在输入捕获通道4修改为下降沿检测。

在NVIC设置开启TIM1捕获/比较中断

在时钟设置将主频改为72MHz

因为需要使用OLED屏幕显示测试距离所以需要打开I2C1

并且勾选为每个外设单独生成单独的.c/.h文件

将oled.c/.h font.c/.h 文件放入本次工程文件夹中

在输入捕获回调函数首先 if 一下进入中断的是不是定时器1,在判断一下触发回调函数的是不是通道4

成立则通过通道3捕获回波的上升沿时间与通道4捕获回声的下降沿时间计算距离并保存到distance中。

在main函数中初始化OLED函数 ,启动定时器计数,启动输入捕获通道3通道4函数

在while函数中首先触发超声波发射,然后重置定时器计数保证每次测距从0开始

最后在OLED显示频中将输入捕获回调函数计算的距离显示在OLED屏幕中。

相关推荐
国科安芯9 分钟前
核电站蒸汽发生器传热管在役无损检测模拟前端的低噪声供电研究
嵌入式硬件·ldo·低压差线性稳压器·无损检测·核电站·蒸汽发生器·传热管
集芯微电科技有限公司1 小时前
40V/24A高频率增强型GaN HEMT功率开关管/高频DC转换/电动工具/GaN充电器 方案首选
人工智能·科技·单片机·嵌入式硬件·深度学习·神经网络·生成对抗网络
十八岁牛爷爷1 小时前
STM32H7 长时间运行后 HTTP 断连:从“串口还活着”到 TX 描述符错账
stm32·单片机·嵌入式硬件
Lxx_Zw2 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
c语言·stm32·单片机·嵌入式硬件
凯基迪科技2 小时前
瑞萨R5F100解密 R8C/RL78 MCU 固件读取与保护机制详解
服务器·网络·单片机
PMAOS3 小时前
4G 功能机操作系统选型指南:KaiOS、Mocor、MAUI、PMAOS 的能力边界与验证方法
嵌入式硬件·ai·操作系统
mk0153 小时前
单片机同步降压稳压器输出最低1V,关断时损耗3uA
单片机·嵌入式硬件·硬件工程·智能硬件·pcb工艺
然后,是第八天4 小时前
platformio使用使用pioarduino流程
单片机
糖糖单片机设计4 小时前
基于 STM32 + LU-ASR01 的智能台灯
stm32·单片机·嵌入式硬件·51单片机·语音识别
en.en..4 小时前
Keil 文件管理避坑(基于 STM32F4 HAL 通用模板讲解)
单片机·嵌入式硬件