#ifndef __H_CIRC_BUF #define __H_CIRC_BUF #include #define BUFFER_SIZE 64 typedef struct { char data[BUFFER_SIZE]; uint8_t head; uint8_t tail; uint8_t count; } circular_buffer_t; void buffer_init(volatile circular_buffer_t* b); uint8_t buffer_is_full(volatile circular_buffer_t* b); uint8_t buffer_is_empty(volatile circular_buffer_t* b); uint8_t buffer_enqueue(volatile circular_buffer_t* b, char c); uint8_t buffer_dequeue(volatile circular_buffer_t* b, char* c); #endif