You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
980 B

/** \file ring_buffer.h */
#if !defined(RING_BUFFER_H__002F3B3E_9C40_4947_A8EE_139D5ADFF045__INCLUDED_)
#define RING_BUFFER_H__002F3B3E_9C40_4947_A8EE_139D5ADFF045__INCLUDED_
#include "define.h"
#include "board_config.h"
typedef struct ring_buffer
{
uint8_t* pBuffer;
uint32_t BufferSize;
bool isOverWrite;
int32_t front, rear;
}RING_BUFFER;
bool RingBuffer_Initialization(RING_BUFFER* pRingbuffer, bool isOverWrite, uint32_t buffer_size, uint8_t* pBuffer);
bool RingBuffer_Clear(RING_BUFFER* pRingbuffer);
bool RingBuffer_isEmpty(RING_BUFFER* pRingbuffer);
bool RingBuffer_isFull(RING_BUFFER* pRingbuffer);
bool RingBuffer_Enqueue(RING_BUFFER* pRingbuffer, uint8_t value) ;
bool RingBuffer_Dequeue(RING_BUFFER* pRingbuffer, uint8_t* pRetValue);
bool RingBuffer_GetData(RING_BUFFER* pRingbuffer, uint8_t* pRetValue);
bool RingBuffer_PopData(RING_BUFFER* pRingbuffer);
uint32_t RingBuffer_Get_DataSize(RING_BUFFER* pRingbuffer);
#endif