X-Git-Url: http://git.osdn.net/view?p=scilog%2Fcpu2010.git;a=blobdiff_plain;f=ring.h;h=bdcf379f999e49bb8d15a04fe2db42cab8cf6071;hp=6a80ed85c7c3718fa7fbc605d05fa4815c763a0e;hb=4789d84e0e125c3cce1e5ead0d7c59eab3642b60;hpb=0b3514d884f39f9236b9ea3e254a3212a1811d56 diff --git a/ring.h b/ring.h index 6a80ed8..bdcf379 100644 --- a/ring.h +++ b/ring.h @@ -5,17 +5,26 @@ #define RING_NUM 6 +extern unsigned char r_write; +extern unsigned char r_read; +extern unsigned char r_num; + #define ring_clear() ring_read_set(ring_write_get(t)) void ring_init(void); + //読み出し位置 -unsigned char ring_read_get(void); +#define ring_read_get() r_read void ring_read_set(unsigned char i); void ring_read_plus(void); // 書き込み位置 -unsigned char ring_write_get(void); -void ring_write_plus(void); +#define ring_write_get() r_write +inline extern void ring_write_plus(void) +{ + r_write++; + if (r_write >= r_num) r_write = 0; +} unsigned char ring_num_get(); unsigned char ring_is_full(void);