规范第一版超声与红外代码函数,红外可以添加更多函数,待学习。同时修改CMakeList在生成bin与hex文件时的命名,以便区分。CMakeList与.h头文件的联动尚未实现。

This commit is contained in:
2024-10-10 14:56:13 +08:00
parent ea7d68e35e
commit 8ad278f76b
11 changed files with 133 additions and 1020 deletions

View File

@@ -1,7 +1,44 @@
# XLSW-3DP-Ultrasonic-300K
## 传感器数据传输与样式
- USART
- baudrate 115200
- 8N1
- 数据格式
```cap_val:183 Distance: 7361 Temp:2735```
- cap_val:183 超声死区外的ToF数据
- Distance: 7361 距离数据100倍mm距离值
- Temp:2735 温度数据100倍摄氏度值
## 供电与数据
本项目支持12V/24V供电默认编译选项为12V供电。主要相关部分为超声的驱动部分。
主要校准数据也会以12V为主。如果需要24V供电请自行修改编译选项。
## 条件编译与输出
- 条件编译共有两个地方需要修改:
1. `ProjectDir/inc/ultrasonic_driver.h` 中配置12V/24V供电默认为12V供电。
`#define POWER_SUPPLY_12V`
2. `ProjectDir/CMakeLists.txt` 中配置编译选项默认为12V供电。
`set(POWER_VOLTAGE "12V")`
- 输出文件命名:
`XLSW_US-IR_FW_12V_V0.0.13_2024-x-x.bin/hex`
1. XLSW_US-IR_FW: 表示该项目为300K模拟超声波测距与IR非接触式测温方案的MCU固件
2. 12V: 表示目前编译固件为12V供电情况下优化的校正参数建议与实际对应这样可以获得更好的测距准确度
3. 2024-x-x: 表示编译日期
## TODO List
### 超声
- [x] 超声驱动信号300KHz 50%duty 5cycles发送
- [x] PA2/PA3配置为USART0
- [x] LED配置存活状态闪烁
@@ -15,4 +52,15 @@
- [x] 在产生指定时间的中断服务函数中开启EXTI0PA0,sensor信号接收引脚开启TIMER14计时计数器1us计一个数计算接收到外部中断的时间
- [ ] 在外部中断服务函数中产生一个事件或中断进入到TIMER14的中断
- [x] TIMER14不存在F4x系列改用TIMER16.
- [x] 放弃上述流程多一层中断层直接在EXTI0的中断服务函数中直接读取TIMER16的CH_0计数值。
- [x] 放弃上述流程多一层中断层直接在EXTI0的中断服务函数中直接读取TIMER16的CH_0计数值。
### IR
- [x] 配置IIC接口到PF0/1
- [x] 移植读取目标温度的函数
- [ ] 设置不同反射率下的校准
- [ ] 读取环境温度
### 条件编译
- [ ] 自动判断某一个条件编译是否开启并在CmakeList中添加对应选项输出文件时加以标识