⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2c.lst

📁 51单片机的内存优化和中断的有用知识
💻 LST
📖 第 1 页 / 共 2 页
字号:
*** ERROR C202 IN LINE 136 OF I2C.C: 'I2C_SCL': undefined identifier
 137   1                _nop_();   
 138   1                _nop_();   
 139   1                _nop_();   
 140   1                ErrorBit   =   I2C_SDA;   
*** ERROR C202 IN LINE 140 OF I2C.C: 'I2C_SDA': undefined identifier
 141   1                I2C_SCL   =   0;   
*** ERROR C202 IN LINE 141 OF I2C.C: 'I2C_SCL': undefined identifier
 142   1                _nop_();   
 143   1                _nop_();           
 144   1        }   
 145            /***************************************   
 146            *函数名称:       void   Write_I2c(uchar   date)   
 147            *功能描述:       写I2C   
 148            *输入:               待送数据,高字节先送   
 149            *输出:               无   
 150            *全局变量:       I2C_SCL,I2C_SDA   
 151            *调用模块:       无   
 152              
 153            ****************************************/   
 154            void   Write_I2c(uchar   date)   
 155            {   
 156   1                uchar   i;   
 157   1                for(i   =   0;   i   <   8;   i++)   
 158   1                {   
 159   2                        I2C_SDA   =   date   &   0x80;                 //送数据到数据线上   
*** ERROR C202 IN LINE 159 OF I2C.C: 'I2C_SDA': undefined identifier
 160   2                        date   <<=   1;   
 161   2                        _nop_();                   
C51 COMPILER V8.02   I2C                                                                   07/26/2008 08:49:37 PAGE 4   

 162   2                        I2C_SCL   =   1;                                     //置时钟信号为高电平,使数据有效   
*** ERROR C202 IN LINE 162 OF I2C.C: 'I2C_SCL': undefined identifier
 163   2                        _nop_();   
 164   2                        _nop_();   
 165   2                        _nop_();   
 166   2                        _nop_();   
 167   2                        _nop_();           
 168   2                        I2C_SCL   =   0;   
*** ERROR C202 IN LINE 168 OF I2C.C: 'I2C_SCL': undefined identifier
 169   2                        _nop_();   
 170   2                        _nop_();                   
 171   2                          
 172   2                }   
 173   1        }   
 174            /***************************************   
 175            *函数名称:       uchar   Read_I2c(void)   
 176            *功能描述:       读I2C   
 177            *输入:               无   
 178            *输出:               返回一个字节的数据,高字节在前   
 179            *全局变量:       I2C_SCL,I2C_SDA   
 180            *调用模块:       无   
 181              
 182            ****************************************/   
 183            uchar   Read_I2c(void)   
 184            {   
 185   1                uchar   i;   
 186   1                uchar   byte   =   0;   
 187   1                for(i   =   0;   i   <   8;   i++)   
 188   1                {   
 189   2                        I2C_SCL   =   0;                       //置时钟为低电平,准备接受数据   
*** ERROR C202 IN LINE 189 OF I2C.C: 'I2C_SCL': undefined identifier
 190   2                        _nop_();   
 191   2                        _nop_();   
 192   2                        _nop_();   
 193   2                        _nop_();   
 194   2                        _nop_();   
 195   2                        I2C_SCL   =   1;                     //置时钟为高电平,使数据线数据有效   
*** ERROR C202 IN LINE 195 OF I2C.C: 'I2C_SCL': undefined identifier
 196   2                        _nop_();   
 197   2                        _nop_();   
 198   2                        byte   <<=   1;   
 199   2                        byte   |=   I2C_SDA;   
*** ERROR C202 IN LINE 199 OF I2C.C: 'I2C_SDA': undefined identifier
 200   2                        _nop_();   
 201   2                        _nop_();   
 202   2                        I2C_SCL   =   0;   
*** ERROR C202 IN LINE 202 OF I2C.C: 'I2C_SCL': undefined identifier
 203   2                }   
 204   1                return(byte);   
 205   1        }   
 206            /***************************************   
 207            *函数名称:       void   DelayMs(uchar   time)   
 208            *功能描述:       延时   
 209            *输入:               延时时间   
 210            *输出:               无   
 211            *全局变量:       无   
 212            *调用模块:       无   
 213              
 214            ****************************************/   
 215            void   DelayMs(uchar   time)   
 216            {   
 217   1              uchar   i;   
C51 COMPILER V8.02   I2C                                                                   07/26/2008 08:49:37 PAGE 5   

 218   1              do   
 219   1              {   
 220   2                        for(i   =   0;   i   <   125   ;   i++);       //*延时   8us   x   125   =   1ms   
 221   2              }   
 222   1              while   (time--);   
 223   1          
 224   1        }   
 225            /***************************************   
 226            *函数名称:       void     Write_Date(uchar   StartAddress,uchar   *date,uchar   bytes)   
 227            *功能描述:       写数据   
 228            *输入:               数据开始地址,保存数据指针,数据字节数   
 229            *输出:               无   
 230            *全局变量:       无   
 231            *调用模块:       Start(),Write_I2c(),Stop(),TestAck()   
 232            *注意事项:       调用之前,需要定义一个数组,用来存待发送的数据   
 233            ****************************************/   
 234            void   Write_Date(int   StartAddress,uchar   *date,uchar   bytes)   
 235            {   
 236   1                uchar   i   =   0;   
 237   1                Start();   
 238   1                Write_I2c(WR24C02);   
 239   1                TestAck();   
 240   1                Write_I2c(StartAddress);   
 241   1                TestAck();   
 242   1                for(i   =   0;i   <   bytes;   i++)   
 243   1                {   
 244   2                        Write_I2c(*date);   
 245   2                        TestAck();   
 246   2                        date++;   
 247   2                }   
 248   1                Stop();   
 249   1                DelayMs(20);   
 250   1        }   
 251            /***************************************   
 252            *函数名称:       void     Read_Date(uchar   StartAddress,uchar   *date,uchar   bytes)   
 253            *功能描述:       读数据   
 254            *输入:               数据开始地址,读取数据指针,数据字节数   
 255            *输出:               无   
 256            *全局变量:       无   
 257            *调用模块:       Start(),Write_I2c(),Read_I2c(),Ack(),NoAck(),Stop(),TestAck()   
 258            *注意事项:       调用之前,需要定义一个数组,用来存读取的数据   
 259            ****************************************/   
 260            void   Read_Date(int   StartAddress,uchar   *date,uchar   bytes)   
 261            {   
 262   1                uchar   i;   
 263   1                Start();   
 264   1                Write_I2c(WR24C02);   
 265   1                TestAck();   
 266   1                Write_I2c(StartAddress);   
 267   1                TestAck();   
 268   1                Write_I2c(RD24C02);   
 269   1                TestAck();   
 270   1                for   (i   =   0;   i   <   bytes;   i++)   
 271   1                {   
 272   2                        *date   =   Read_I2c();   
 273   2                        Ack();   
 274   2                        date++;   
 275   2                }   
 276   1                NoAck();   
 277   1                Stop();   
 278   1                DelayMs(10);   
 279   1        } 
C51 COMPILER V8.02   I2C                                                                   07/26/2008 08:49:37 PAGE 6   


C51 COMPILATION COMPLETE.  0 WARNING(S),  24 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -