feat: 集成循迹与超声波驱动并优化控制任务节拍
- 新增 HC-SR04 驱动与测距接口(bsp_sr04) - 增加循迹状态读取与输出,完善任务内日志 - 调整 CarCtrl 闭环更新周期,匹配霍尔测速周期,降低抖动 - 同步更新 CubeMX/CMake 生成配置与相关引脚定义
This commit is contained in:
33
Core/Bsp/bsp_sr04.h
Normal file
33
Core/Bsp/bsp_sr04.h
Normal file
@@ -0,0 +1,33 @@
|
||||
#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 */
|
||||
Reference in New Issue
Block a user