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
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
|