22 lines
505 B
C
22 lines
505 B
C
#ifndef __H_CIRC_BUF
|
|
#define __H_CIRC_BUF
|
|
|
|
#include <stdint.h>
|
|
|
|
#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
|