hal_ring.h

来自「arm_bootloader _flash writter &USB」· C头文件 代码 · 共 27 行

H
27
字号
#ifndef __hal_RING_H__
#define __hal_RING_H__

#define hal_RING_BUFFER_SIZE        (4096)	// The buffer size must be power of 2
#define hal_RING_BUFFER_INDEX_MASK  (hal_RING_BUFFER_SIZE - 1)

typedef struct hal_ring_buf_s
{
    unsigned char buffer[hal_RING_BUFFER_SIZE];
    unsigned int putindex;
    unsigned int getindex;
    unsigned int buffersize;
} hal_ring_buf_t;

// If the data is put successful, 0 is returned.
// If error, -1 is returned.
int hal_putring_char(hal_ring_buf_t *ring, unsigned char c);
int hal_getring_char(hal_ring_buf_t *ring, unsigned char *c);
void hal_ring_flush(hal_ring_buf_t *ring);

int hal_putring(hal_ring_buf_t *ring, unsigned char *src, unsigned int len);
int hal_getring(hal_ring_buf_t *ring, unsigned char *buf, unsigned int len);

void hal_ring_flush(hal_ring_buf_t *ring);

#endif // __hal_RING_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?