STM_ATEM/User/data_packet.h
2026-01-25 17:16:17 +08:00

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