Files
Motor_v2/Robot_V2/sys/initial.h
T

50 lines
1019 B
C++
Raw Normal View History

2025-09-23 00:27:51 +08:00
#ifndef _INITIAL_H
#define _INITIAL_H
#ifdef __cplusplus
extern "C" {
#endif
#include "gd32c10x_eval.h"
2025-09-23 00:27:51 +08:00
#include "stdint.h"
#include <stdio.h>
2025-09-23 00:27:51 +08:00
constexpr u16 REDUCTION_RATIO = 25;
constexpr float DEG2RAD = 1.0f / 360.0f * 6.28318530718f;
constexpr float RAD2DEG = 360.0f / 6.28318530718f;
2025-09-23 00:27:51 +08:00
void rcu_config(void);
2025-10-02 02:52:07 +08:00
static volatile uint32_t timer_delay_count = 0; // volatile 很重要!
int fputc(int ch, FILE *f); // 声明fputc函数以重载标准库实现
2025-09-23 00:27:51 +08:00
u8 USART0_init(void);
u8 watchdog_init(u32 time);
u16 get_reset_cause(void);
void unused_pin_init();
// 任务标志定义
typedef enum {
TASK_MOTOR_CONTROL = 0,
TASK_CURRENT_UPDATE,
TASK_VELOCITY_UPDATE,
TASK_ANGLE_UPDATE,
TASK_MCU_TEMP_UPDATE,
TASK_DRV_TEMP_UPDATE,
TASK_VBUS_UPDATE,
TASK_THERMAL_CONTROL,
TASK_CAN_TRANSMIT,
TASK_MAGNETIC_CHECK,
TASK_COUNT
} SystemTask;
2025-10-16 21:43:34 +08:00
// 任务管理结构
typedef struct {
volatile u32 taskFlags; // 任务标志位(每个位代表一个任务)
} TaskScheduler;
2025-09-23 00:27:51 +08:00
#ifdef __cplusplus
}
#endif
#endif