Initial commit: CCU621_M firmware project with BLE debug link support.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user