This commit is contained in:
2026-07-04 09:33:58 +08:00
parent efffc5ec9c
commit 241096d805
2 changed files with 15 additions and 15 deletions
+13 -7
View File
@@ -22,11 +22,11 @@
typedef struct fifo_t{
uint8_t* buffer;
os_size_t buffer_size;
os_size_t write_idx;
os_size_t read_idx;
volatile os_size_t write_idx;
volatile os_size_t read_idx;
}fifo_t;
#define FIFO_INVALID_POS ((os_size_t)(-1))
#define FIFO_INVALID_POS ((os_size_t)(-1u))
/* ==================================================================================================== */
/* 接口 */
@@ -61,11 +61,17 @@ os_size_t fifo_capacity(fifo_t* self){
}
OS_STATIC_FORCE_INLINE
os_bool_t fifo_is_full(fifo_t* self){
os_size_t next_write_idx = self->write_idx + 1;
if(next_write_idx>=self->buffer_size){
next_write_idx = 0;
os_size_t fifo_next(fifo_t* self, os_size_t idx){
idx += 1;
if(idx >= self->buffer_size){
idx = 0;
}
return idx;
}
OS_STATIC_FORCE_INLINE
os_bool_t fifo_is_full(fifo_t* self){
os_size_t next_write_idx = fifo_next(self, self->write_idx);
return (next_write_idx==self->read_idx)?OS_TRUE:OS_FALSE;
}