一、CubeMX配置
1、配置sys
2、配置RCC
3、配置时钟树
4、配置GPIO——Trig引脚
5、配置定时器——输入捕获模式
6、开启中断使能
7、配置IIC
8、选择工程路径
9、勾选分文件编写
10、生成代码
二、keil程序的编写
1、SR04.c
#include "SR04.h"
#include "OLED.h"
#include "OLEDFont.h"
float distant; //测量距离
uint32_t measure_Buf[3] = {0}; //存放定时器计数值的数组
uint8_t measure_Cnt = 0; //状态标志位
uint32_t high_time; //超声波模块返回的高电平时间
//===============================================读取距离
void SR04_GetData(void)
{
switch (measure_Cnt){
case 0:
TRIG_H;
delay_us(30);
TRIG_L;
measure_Cnt++;
__HAL_TIM_SET_CAPTUREPOLARITY(&htim2, TIM_CHANNEL_1, TIM_INPUTCHANNELPOLARITY_RISING);
HAL_T