forked from fancy3013/NRF24L01_WriessUart
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfifo_buf.LST
56 lines (48 loc) · 1.96 KB
/
fifo_buf.LST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
C51 COMPILER V9.52.0.0 FIFO_BUF 09/09/2014 21:02:52 PAGE 1
C51 COMPILER V9.52.0.0, COMPILATION OF MODULE FIFO_BUF
OBJECT MODULE PLACED IN fifo_buf.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE fifo_buf.c LARGE BROWSE DEBUG OBJECTEXTEND TABS(2)
line level source
1 /******************************************************
2 环形FIFO缓冲区,定义一个数组作为缓冲区
3 用以下函数来实现环形存储
4 By Fancy QQ:652774317
5 *****************************************************/
6 #include "fifo_buf.h"
7
8
9 unsigned char FIFO_BUF_Read(ST_FIFO_BUF *buf)
10 {
11 1 unsigned char *addr;
12 1 addr=buf->P_buf + buf->Buf_Start;
13 1 if(buf->Value_Data>0)
14 1 {
15 2 buf->Value_Data--;
16 2 buf->Buf_Start++;
17 2 if(buf->Buf_Start >= buf->Max_Date) buf->Buf_Start=0;
18 2 }
19 1 return *addr;
20 1 }
21
22 void FIFO_BUF_Write(ST_FIFO_BUF *buf,unsigned char temp)
23 {
24 1 unsigned char *addr;
25 1 if(buf->Value_Data<buf->Max_Date)
26 1 {
27 2 if((buf->Value_Data+buf->Buf_Start)>=buf->Max_Date) addr=buf->P_buf+buf->Value_Data+buf->Buf_Start-buf->
-Max_Date;
28 2 else addr=buf->P_buf+buf->Value_Data+buf->Buf_Start;
29 2 *(addr)=temp;
30 2 buf->Value_Data++;
31 2 }
32 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 449 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 13
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)