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

📄 open_i2c.lst

📁 参加今年的比赛肯定要用的。谢谢支持。祝大家好运!
💻 LST
字号:
C51 COMPILER V7.06   OPEN_I2C                                                              08/18/2005 15:30:30 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE OPEN_I2C
OBJECT MODULE PLACED IN Open_I2C.OBJ
COMPILER INVOKED BY: d:\Keil777\C51\BIN\C51.EXE Open_I2C.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <io.h>
*** WARNING C318 IN LINE 1 OF Open_I2C.c: can't open file 'io.h'
   2          #include "system.h"
   3          #include "Open_I2C.h"
   4          //-------------------------------------------------------------------------
   5          unsigned int I2C_Read_Period()
   6          {
   7   1        unsigned char low,high;
   8   1        low = IORD(I2C_0_BASE,I2C_PRER_LO);
*** WARNING C206 IN LINE 8 OF OPEN_I2C.C: 'IORD': missing function-prototype
*** ERROR C267 IN LINE 8 OF OPEN_I2C.C: 'IORD': requires ANSI-style prototype
   9   1        high= IORD(I2C_0_BASE,I2C_PRER_HI);
  10   1        return (high<<16)+low;
  11   1      }
  12          //-------------------------------------------------------------------------
  13          unsigned char I2C_Read_Ctrl()
  14          {
  15   1        return  IORD(I2C_0_BASE,I2C_CTR);
  16   1      }
  17          //-------------------------------------------------------------------------
  18          unsigned char I2C_Read_RX()
  19          {
  20   1        return  IORD(I2C_0_BASE,I2C_RXR);
  21   1      }
  22          //-------------------------------------------------------------------------
  23          unsigned char I2C_Read_Status()
  24          {
  25   1        return  IORD(I2C_0_BASE,I2C_SR);
  26   1      }
  27          //-------------------------------------------------------------------------
  28          void I2C_Write_Period(unsigned int Period)
  29          {
  30   1        IOWR(I2C_0_BASE,I2C_PRER_LO,Period&0xFF);
  31   1        IOWR(I2C_0_BASE,I2C_PRER_HI,Period>>16);
  32   1      }
  33          //-------------------------------------------------------------------------
  34          void  I2C_Write_Ctrl(unsigned char value)
  35          {
  36   1        IOWR(I2C_0_BASE,I2C_CTR,value);
  37   1      }
  38          //-------------------------------------------------------------------------
  39          void  I2C_Write_TX(unsigned char value)
  40          {
  41   1        IOWR(I2C_0_BASE,I2C_TXR,value);
  42   1      }
  43          //-------------------------------------------------------------------------
  44          void  I2C_Write_CMD(unsigned char value)
  45          {
  46   1        IOWR(I2C_0_BASE,I2C_CR,value);
  47   1      }
  48          //-------------------------------------------------------------------------
  49          void  I2C_Init(unsigned int Period)
  50          {
  51   1        I2C_Ctrl_Reg  a;
  52   1        I2C_Write_Period(Period);
C51 COMPILER V7.06   OPEN_I2C                                                              08/18/2005 15:30:30 PAGE 2   

  53   1        a.I2C_Ctrl_Flags.CORE_ENABLE=1;
  54   1        a.I2C_Ctrl_Flags.INT_ENABLE=1;
  55   1        a.I2C_Ctrl_Flags.RESERVED=0;
  56   1        I2C_Write_Ctrl(a.Value);
  57   1      }
  58          //-------------------------------------------------------------------------
  59          unsigned char I2C_Send(unsigned char value,unsigned char STA,unsigned char STO)
  60          {
  61   1        unsigned char ACK;
  62   1        I2C_CMD_Reg     I2C_CMD;
  63   1        I2C_Status_Reg  I2C_Status;
  64   1        I2C_Write_TX(value);
  65   1        I2C_CMD.Value=0;
  66   1        if(STA!=0)
  67   1        I2C_CMD.I2C_CMD_Flags.STA=1;
  68   1        if(STO!=0)
  69   1        I2C_CMD.I2C_CMD_Flags.STO=1;
  70   1        I2C_CMD.I2C_CMD_Flags.WR=1;
  71   1        I2C_Write_CMD(I2C_CMD.Value);
  72   1        do
  73   1        {
  74   2          I2C_Status.Value=I2C_Read_Status();
  75   2        }
  76   1        while(I2C_Status.I2C_Status_Flags.TIP);
  77   1        if(!I2C_Status.I2C_Status_Flags.RXACK)
  78   1        ACK=1;
  79   1        else
  80   1        ACK=0;
  81   1        return ACK;
  82   1      }
  83          //-------------------------------------------------------------------------
  84          

C51 COMPILATION COMPLETE.  2 WARNING(S),  1 ERROR(S)

⌨️ 快捷键说明

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