fix(CAN): 使用DMA优化CAN通信数据收发

重新配置CAN引脚映射并实现基于DMA的数据收发机制,提升通信效率。增加了DMA通道4和5的中断处理函数,用于接收和发送CAN消息。修改了CAN发送函数以支持DMA传输,并去除了原有的轮询等待机制。

feat(ADC): 重新实现ADC与DMA初始化配置
将ADC和DMA的配置迁移至ADC.cpp文件中,完善了DMA循环采样模式配置及ADC多通道扫描功能。删除了initial.cpp中重复的初始化代码,并修正了相关头文件包含。

chore(headers): 清理冗余头文件引用
多个源文件中删除了不必要的标准库和硬件无关头文件引用,减少编译依赖,提高代码清晰度。
This commit is contained in:
cbb
2025-11-01 20:29:11 +08:00
parent 867a37ff79
commit 71a92fa68e
12 changed files with 258 additions and 171 deletions
+6 -1
View File
@@ -11,6 +11,11 @@ class FOC_Controlroller {
float limit_velocity = 0.0f;
float target_angle = 0.0f;
float target_velocity = 0.0f;
float rt_angle = 0.0f;
float rt_velocity = 0.0f;
u8 over_current = 0;
u8 temp_error = 0;
u8 voltage_error = 0;
u8 is_shut_down = 0;
float velocity_open_loop(float target_velocity);
@@ -18,7 +23,7 @@ class FOC_Controlroller {
void shut_down(void);
void resume(void);
private:
protected:
std::u64 last_time_us = 0;
std::u64 now_us = 0;
float shaft_angle = 0;