Initial commit: CCU621_M firmware project with BLE debug link support.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-08 17:28:36 +08:00
commit 9ceb218f80
1597 changed files with 724159 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
/*!
\file can.h
\brief CAN配置头文件
\version 2026-03-09, V1.4.0, firmware for GD32H7xx
*/
#ifndef CAN_H
#define CAN_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
#define CAN_RX_BUFFER_SIZE 32U
typedef enum {
E_CAN_0 = 0,
E_CAN_1 = 1,
E_CAN_2 = 2
} E_CAN_ID;
typedef struct {
uint32_t ID;
uint8_t Len;
uint8_t Data[8U];
} CAN_DATA;
/* CAN统一初始化接口 */
void v_can_interface_init(void);
uint8_t u8_can_is_initialized(void);
/* CAN 中断分发(供 gd32h7xx_it.c 复用) */
void v_can_irq_handler(uint8_t can_port);
/* 对外统一发送/接收接口(扩展帧、数据帧) */
void v_can_tx(E_CAN_ID can_id, const CAN_DATA *can_data);
uint8_t u8_can_rx(E_CAN_ID can_id, CAN_DATA *can_data);
/* 兼容当前工程的原统一接口 */
uint8_t can_send_data(uint8_t can_port, uint32_t id, uint8_t *data, uint8_t dlc, uint8_t ide, uint8_t rtr);
uint8_t can_receive_data(uint8_t can_port, uint32_t *id, uint8_t *data, uint8_t *dlc, uint8_t *ide, uint8_t *rtr);
/* 扩展帧ID打包/解析工具 */
uint32_t u32_get_can_ID(uint8_t prior, uint8_t cmd, uint8_t desAddr, uint8_t oriAddr);
uint8_t u8_can_ID_unpack(uint32_t u32_id, uint8_t *prior, uint8_t *cmd, uint8_t *desAddr, uint8_t *oriAddr);
#ifdef __cplusplus
}
#endif
#endif /* CAN_H */