ringBuffer.h 1.1 KB

1234567891011121314151617181920212223242526272829
  1. #ifndef __RINGBUFFER_H__
  2. #define __RINGBUFFER_H__
  3. /*******************************************************************************************************/
  4. #include "type.h"
  5. typedef struct
  6. {
  7. uint8 *buffer;
  8. uint16 buffer_size;
  9. uint16 read_index;
  10. uint16 save_index;
  11. } ring_buffer;
  12. /*******************************************************************************************************/
  13. void ring_buffer_init(ring_buffer *ring, uint8 *buff, uint16 size);
  14. void ring_buffer_save(ring_buffer *ring, uint8 dat);
  15. int ring_buffer_read(ring_buffer *ring, uint8 *buffer, uint16 size);
  16. void ring_buffer_save_isr(ring_buffer *ring, uint8 dat);
  17. int ring_buffer_read_isr(ring_buffer *ring, uint8 *buffer, uint16 size);
  18. uint16 ring_buffer_data_num(ring_buffer *ring);
  19. int ring_buffer_isEmpty(ring_buffer *ring);
  20. #endif
  21. /*******************************************************************************************************
  22. ** End Of File
  23. ********************************************************************************************************/