// // Created by EDZ on 25-9-23. // #ifndef RING_BUFFER_H #define RING_BUFFER_H #include #define QUEUE_SIZE 10 // 队列大小,可以根据需求调整 typedef struct { uint8_t buffer[QUEUE_SIZE]; volatile uint16_t head; // 读指针 volatile uint16_t tail; // 写指针 } RingBuffer; // 初始化 void RingBuffer_Init(RingBuffer *q); // 判空 int RingBuffer_IsEmpty(RingBuffer *q); // 判满 int RingBuffer_IsFull(RingBuffer *q); // 入队 int RingBuffer_Enqueue(RingBuffer *q, uint8_t data); // 出队 int RingBuffer_Dequeue(RingBuffer *q, uint8_t *data); #endif //RING_BUFFER_H