📄 i2c.lst
字号:
C51 COMPILER V7.50 I2C 07/17/2008 14:38:50 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN ..\output\i2c.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\common\i2c.c LARGE OPTIMIZE(9,SIZE) BROWSE INCDIR(..\..\..\bsp\includ
-e;..\src\include;..\..\include) DEFINE(CONFIG_ASIC) DEBUG OBJECTEXTEND PRINT(.\i2c.lst) OBJECT(..\output\i2c.obj)
line level source
1 #include "api.h"
*** WARNING C318 IN LINE 1 OF ..\..\common\i2c.c: can't open file 'api.h'
2 #include "i2c.h"
*** ERROR C129 IN LINE 20 OF ..\..\INCLUDE\I2C.H: missing ';' before 'bI2C_ByteOut'
3
4 //#ifdef CONFIG_FPGA
5
6 //--------------------------------------------------------------------------
7 static void vI2C_Delay(void)
8 {
9 INT8U i;
10 for(i=10;i>0;i--);
11 }
12
13 //--------------------------------------------------------------------------
14 void vI2C_Start(void)
15 {
16 INT8U count;
17
18 api_vI2CPinSelect();
19
20 for (count = ERROR_COUNT;count > 0;count--)
21 {
22 IIC_DAT = 1;
23 vI2C_Delay();
24 IIC_CLK = 1;
25 vI2C_Delay();
26 IIC_DAT = 0;
27 vI2C_Delay();
28 IIC_CLK = 0;
29 vI2C_Delay();
30 if (!(IIC_DAT|IIC_CLK)) break;
31 }
32 }
33
34 //--------------------------------------------------------------------------
35 void vI2C_Stop(void)
36 {
37 INT8U count;
38
39 for (count = ERROR_COUNT;count > 0;count--)
40 {
41 IIC_DAT = 0;
42 vI2C_Delay();
43 IIC_CLK = 0;
44 vI2C_Delay();
45 IIC_CLK = 1;
46 vI2C_Delay();
47 IIC_DAT = 1;
48 vI2C_Delay();
49 if (IIC_DAT&IIC_CLK) break;
50 }
51
52 api_vI2CPinRecover();
C51 COMPILER V7.50 I2C 07/17/2008 14:38:50 PAGE 2
53 }
54
55 //--------------------------------------------------------------------------
56 INT8U u8I2C_ByteIn(INT8U isLast)
57 {
58 INT8U dt = 0x00;
59 INT8U i;
60
61 IIC_DAT = 1;
62
63 for ( i=0x80; i; i>>=1 ) {
64 IicBitIn();
65 vI2C_Delay();
66 if(IIC_DAT) dt |= i;
67 IIC_CLK = 0;
68 }
69
70 //send ACK
71 IIC_DAT = isLast;
72 IIC_CLK = 1;
73 vI2C_Delay();
74 IIC_CLK = 0;
75 vI2C_Delay();
76 IIC_DAT = 1;
77 vI2C_Delay();
78
79 return dt;
80 }
81
82 //--------------------------------------------------------------------------
83 BOOLEAN bI2C_ByteOut(INT8U dt)
84 {
85 INT8U count;
86
87 for (count = 0; count < 8; count ++, dt <<= 1) {
88 IicBitOut(dt & 0x80);
89 }
90
91 // Ack
92 IIC_DAT = 1;
93 vI2C_Delay();
94 IIC_CLK = 1;
95 vI2C_Delay();
96
97 for (count = ERROR_COUNT;count > 0;count--)
98 {
99 if (!IIC_DAT)
100 {
101 IIC_CLK = 0;
102 return TRUE;
103 }
104 }
105
106 IIC_CLK = 0;
107
108 api_vI2CPinRecover();
109
110 return FALSE;
111 }
112
113 //#endif
C51 COMPILATION COMPLETE. 1 WARNING(S), 1 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -