2025-09-23 00:27:51 +08:00
|
|
|
#include "main.h"
|
|
|
|
|
#include "Can.h"
|
2025-10-16 21:43:34 +08:00
|
|
|
#include "DengFOC.h"
|
2025-09-23 00:27:51 +08:00
|
|
|
#include "Filter.h"
|
|
|
|
|
#include "Timer.h"
|
|
|
|
|
#include "adc.h"
|
2025-10-14 00:49:58 +08:00
|
|
|
#include "core_cm4.h"
|
2025-10-16 21:56:15 +08:00
|
|
|
#include "core_cm4.h"
|
2025-10-09 21:09:33 +08:00
|
|
|
#include "device/tle5012b.h"
|
2025-10-16 21:43:34 +08:00
|
|
|
#include "gd32c10x_gpio.h"
|
2025-09-23 00:27:51 +08:00
|
|
|
#include "initial.h"
|
2025-10-02 23:50:12 +08:00
|
|
|
#include "sys/initial.h"
|
2025-09-23 00:27:51 +08:00
|
|
|
#include "systick.h"
|
|
|
|
|
#include "tle5012b.h"
|
2025-10-02 02:52:07 +08:00
|
|
|
#include <cstdio>
|
|
|
|
|
|
2025-09-23 00:27:51 +08:00
|
|
|
// 全局变量定义
|
|
|
|
|
CurrentKalman kalman(0.0f, 0.0026f, 4.8f, 0.0001f, 1e-6f, 0.02f);
|
2025-10-02 02:52:07 +08:00
|
|
|
CAN_transmiter CAN0_transmiter;
|
2025-10-16 21:43:34 +08:00
|
|
|
FOC_Controlroller FOC;
|
|
|
|
|
|
2025-10-02 02:52:07 +08:00
|
|
|
int main(void) {
|
2025-10-14 00:49:58 +08:00
|
|
|
systick_config(); // 系统时钟初始化
|
|
|
|
|
USART0_init(); // 调试串口初始化
|
|
|
|
|
User_timer_init(); // Timer初始化
|
|
|
|
|
adc_config(); // ADC初始化
|
|
|
|
|
dma_config(); // DMA采样ADC初始化
|
2025-10-16 21:43:34 +08:00
|
|
|
driver_init(); // 电机驱动初始化
|
|
|
|
|
|
2025-10-14 00:49:58 +08:00
|
|
|
tle5012b_gpio_init(); // TLI5012B初始化
|
2025-10-02 02:52:07 +08:00
|
|
|
tle5012b_spi_init();
|
2025-10-16 21:43:34 +08:00
|
|
|
|
2025-10-14 00:49:58 +08:00
|
|
|
watchdog_init(5000);
|
2025-09-23 00:27:51 +08:00
|
|
|
while (1) {
|
2025-10-14 00:49:58 +08:00
|
|
|
/* clear the FWDGT reset flag */
|
|
|
|
|
fwdgt_counter_reload();
|
2025-10-16 21:43:34 +08:00
|
|
|
printf("1\r\n");
|
2025-10-14 00:49:58 +08:00
|
|
|
CAN0_transmiter.communication_check();
|
2025-09-23 00:27:51 +08:00
|
|
|
}
|
2025-10-14 00:49:58 +08:00
|
|
|
}
|