ADC已完成

This commit is contained in:
cbb
2025-10-02 02:52:07 +08:00
parent 6f89355a8a
commit 20fbb30067
19 changed files with 424 additions and 258 deletions
+26 -5
View File
@@ -11,17 +11,38 @@ extern "C" {
#include "stdint.h"
#include <stdio.h>
u8 can_gpio_init(void);
void can_config(void);
void canfd_config(void);
void can_loopback_init(void);
void can_loopback_test(void);
// 定义一个联合体类型用于float和byte数组之间的转换
typedef union {
float f;
u8 b[4];
} float_union_t;
// 添加辅助函数用于将short类型数据打包到u8数组中
static inline void pack_short_to_bytes(u8* buffer, u16 offset, short value) {
buffer[offset] = (u8)(value & 0xFF);
buffer[offset + 1] = (u8)((value >> 8) & 0xFF);
}
// 添加辅助函数用于将u16类型数据打包到u8数组中
static inline void pack_u16_to_bytes(u8* buffer, u16 offset, u16 value) {
buffer[offset] = (u8)(value & 0xFF);
buffer[offset + 1] = (u8)((value >> 8) & 0xFF);
}
// 添加辅助函数用于将float类型数据打包到u8数组中
static inline void pack_float_to_bytes(u8* buffer, u16 offset, float_union_t& float_union) {
buffer[offset] = float_union.b[0];
buffer[offset + 1] = float_union.b[1];
buffer[offset + 2] = float_union.b[2];
buffer[offset + 3] = float_union.b[3];
}
u8 can_gpio_init(void);
void can_config(void);
void canfd_config(void);
void can_loopback_init(void);
void can_loopback_test(void);
/*!
\brief CAN通信类
\note 封装CAN发送和接收功能