- 新增 HC-SR04 驱动与测距接口(bsp_sr04) - 增加循迹状态读取与输出,完善任务内日志 - 调整 CarCtrl 闭环更新周期,匹配霍尔测速周期,降低抖动 - 同步更新 CubeMX/CMake 生成配置与相关引脚定义
34 lines
789 B
C
34 lines
789 B
C
#ifndef __BSP_SR04_H
|
|
#define __BSP_SR04_H
|
|
|
|
#include "main.h"
|
|
|
|
/**
|
|
* @brief 超声波模块数据结构
|
|
*/
|
|
typedef struct {
|
|
float distance; // 测量距离 (单位: cm)
|
|
uint32_t last_tick; // 上次测量时间戳
|
|
} sr04_data_t;
|
|
|
|
/**
|
|
* @brief 超声波模块初始化
|
|
* @note 由于没有空闲硬件定时器捕获通道,本驱动采用 GPIO + 软件计数/HAL_GetTick 的方式
|
|
* 建议在 main.c 中确保 TRIG 引脚初始电平为低。
|
|
*/
|
|
void sr04_init(void);
|
|
|
|
/**
|
|
* @brief 触发一次测距
|
|
* @return float 返回当前测量距离 (cm)。若超时或错误返回 -1.0
|
|
*/
|
|
float sr04_measure(void);
|
|
|
|
/**
|
|
* @brief 获取最近一次测量的距离接口
|
|
* @return float 距离 (cm)
|
|
*/
|
|
float sr04_get_distance(void);
|
|
|
|
#endif /* __BSP_SR04_H */
|