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:
+3
-10
@@ -1,28 +1,22 @@
|
||||
#include "main.h"
|
||||
#include "Can.h"
|
||||
#include "DengFOC.h"
|
||||
#include "Filter.h"
|
||||
#include "Timer.h"
|
||||
#include "adc.h"
|
||||
#include "core_cm4.h"
|
||||
#include "core_cm4.h"
|
||||
#include "ang_sensor.h"
|
||||
#include "gd32c10x_gpio.h"
|
||||
#include "initial.h"
|
||||
#include "systick.h"
|
||||
#include <cstdio>
|
||||
|
||||
// 全局变量定义
|
||||
CAN_transmiter CAN0_transmiter;
|
||||
FOC_Controlroller FOC;
|
||||
sampler sampler;
|
||||
CAN_transmiter CAN0_transmiter; //CAN初始化
|
||||
FOC_Controlroller FOC; // FOC控制初始化
|
||||
sampler sampler; // 采样器初始化
|
||||
|
||||
int main(void) {
|
||||
systick_config(); // 系统时钟初始化
|
||||
USART0_init(); // 调试串口初始化
|
||||
User_timer_init(); // Timer初始化
|
||||
adc_config(); // ADC初始化
|
||||
dma_config(); // DMA采样ADC初始化
|
||||
sampler.init(); // 采样器初始化
|
||||
driver_init(); // 电机驱动初始化
|
||||
|
||||
@@ -32,7 +26,6 @@ int main(void) {
|
||||
|
||||
while (1) {
|
||||
/* clear the FWDGT reset flag */
|
||||
// std::printf("1\n");
|
||||
// delay_1ms(100);
|
||||
fwdgt_counter_reload();
|
||||
CAN0_transmiter.communication_check();
|
||||
|
||||
Reference in New Issue
Block a user