重新配置CAN引脚映射并实现基于DMA的数据收发机制,提升通信效率。增加了DMA通道4和5的中断处理函数,用于接收和发送CAN消息。修改了CAN发送函数以支持DMA传输,并去除了原有的轮询等待机制。 feat(ADC): 重新实现ADC与DMA初始化配置 将ADC和DMA的配置迁移至ADC.cpp文件中,完善了DMA循环采样模式配置及ADC多通道扫描功能。删除了initial.cpp中重复的初始化代码,并修正了相关头文件包含。 chore(headers): 清理冗余头文件引用 多个源文件中删除了不必要的标准库和硬件无关头文件引用,减少编译依赖,提高代码清晰度。
34 lines
753 B
C++
34 lines
753 B
C++
#include "main.h"
|
|
#include "Can.h"
|
|
#include "DengFOC.h"
|
|
#include "Timer.h"
|
|
#include "adc.h"
|
|
#include "core_cm4.h"
|
|
#include "ang_sensor.h"
|
|
#include "initial.h"
|
|
#include "systick.h"
|
|
|
|
// 全局变量定义
|
|
CAN_transmiter CAN0_transmiter; //CAN初始化
|
|
FOC_Controlroller FOC; // FOC控制初始化
|
|
sampler sampler; // 采样器初始化
|
|
|
|
int main(void) {
|
|
systick_config(); // 系统时钟初始化
|
|
USART0_init(); // 调试串口初始化
|
|
User_timer_init(); // Timer初始化
|
|
sampler.init(); // 采样器初始化
|
|
driver_init(); // 电机驱动初始化
|
|
|
|
KHT7823_init();
|
|
|
|
watchdog_init(5000);
|
|
|
|
while (1) {
|
|
/* clear the FWDGT reset flag */
|
|
// delay_1ms(100);
|
|
fwdgt_counter_reload();
|
|
CAN0_transmiter.communication_check();
|
|
}
|
|
}
|