OSDN Git Service

timepulse1 1Hz: GPS時刻fixしなくても出力するようにした
[scilog/cpu2010.git] / ring.h
1
2 #ifndef __RING_H__
3
4 #define __RING_H__
5
6 #define RING_NUM    6
7
8 extern unsigned char    r_write;
9 extern unsigned char    r_read1;
10 extern unsigned char    r_read2;
11 extern unsigned char    r_num;
12
13 #define ring_clear()    ring_read_set(ring_write_get(t))
14
15 void ring_init(void);
16
17 //読み出し位置1
18 #define ring_read1_get() r_read1
19 void ring_read1_set(unsigned char i);
20 void ring_read1_plus(void);
21
22 //読み出し位置2
23 #define ring_read2_get() r_read2
24 void ring_read2_set(unsigned char i);
25 void ring_read2_plus(void);
26
27 // 書き込み位置
28 #define ring_write_get()    r_write
29 inline extern void ring_write_plus(void)
30 {
31     r_write++;
32     if (r_write >= r_num) r_write = 0;
33 }
34
35 unsigned char ring_num1_get();
36 unsigned char ring_is_full1(void);
37
38 unsigned char ring_num2_get();
39 unsigned char ring_is_full2(void);
40
41 #endif
42