rb_.h
来自「simulink real-time workshop for dragon12」· C头文件 代码 · 共 45 行
H
45 行
#ifndef _RB_H_#define _RB_H_/** * Define the rb struct. * Note that it's expecting an array of length 256. */typedef struct { unsigned char *start; unsigned char in; unsigned char out; unsigned char nElements; /* keep a counter of how many elements are currently available... fw-09-06 */} rbType;#define RB_INIT(b, s) \( (b)->in = (b)->out = 0, (b)->nElements = 0, \ (b)->start = s )#define RB_EMPTY(b) ( (b)->in == (b)->out )#define RB_FULL(b) ( (b)->in + 1 == (b)->out )#define RB_PUSH(b, v) \ (RB_FULL(b) ? 1 : \ ((b)->start[(b)->in++] = (v), (b)->nElements++, 0) \ )#define RB_POP(b, v) \ (RB_EMPTY(b) ? 1: \ (*v = (b)->start[(b)->out++], (b)->nElements--, 0) \ )#define RB_PEEK(b, v) \ (RB_EMPTY(b) ? 1: \ (*v = (b)->start[(b)->out], 0) \ )#define RB_CLEAN(b) ( (b)->out = (b)->in = (b)->nElements = 0 )#define RB_SET_OUT(b, o) ( (b)->out = o )#define RB_ELEMENTS(b) ( (b)->nElements )#endif // #define _RB_H_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?