23 lines
703 B
C
23 lines
703 B
C
#ifndef DATA_PACKET_H
|
|
#define DATA_PACKET_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#define PACKET_START_BYTE 0xFFFFFFFF
|
|
#define PACKET_END_BYTE 0x55
|
|
|
|
// 数据包结构
|
|
typedef struct __attribute__((packed)) {
|
|
uint8_t start_byte[4]; // 包头
|
|
int32_t adc_data1; // ADC1 数据 (高位在前)
|
|
int32_t adc_data2; // ADC2 数据 (高位在前)
|
|
int32_t adc_data3; // ADC3 数据 (高位在前)
|
|
// uint16_t checksum; // 校验和 (例如 CRC16, 高位在前)
|
|
// uint8_t end_byte; // 包尾
|
|
} DataPacket_t;
|
|
|
|
uint16_t Calculate_CRC16(uint8_t *data, uint16_t len);
|
|
void PackData(DataPacket_t *packet, int32_t adc1, int32_t adc2, int32_t adc3);
|
|
|
|
#endif // DATA_PACKET_H
|