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

📄 i2c.lst

📁 智原mp3 SDK 开发包 与巨力 有mp3 wma ogg decoder
💻 LST
字号:
C51 COMPILER V7.50   I2C                                                                   09/05/2008 09:54:54 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN ..\output\output_bin\output_setting\i2c.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\code\common\i2c.c LARGE OPTIMIZE(9,SIZE) BROWSE INCDIR(..\..\..\bsp\i
                    -nclude;..\..\code\ap_setting\src\include;..\..\code\global;..\..\code\include) DEFINE(CONFIG_ASIC,dynamic_load) DEBUG OB
                    -JECTEXTEND PRINT(..\output\output_bin\output_setting\i2c.lst) OBJECT(..\output\output_bin\output_setting\i2c.obj)

line level    source

   1          #include "api.h"
   2          #include "i2c.h"
   3          
   4          //#ifdef CONFIG_FPGA
   5          
   6          //--------------------------------------------------------------------------
   7          static void vI2C_Delay(void)
   8          {
   9   1         INT8U i;
  10   1         for(i=10;i>0;i--);
  11   1      }
  12          
  13          //--------------------------------------------------------------------------
  14          void vI2C_Start(void)
  15          {
  16   1         INT8U count;
  17   1         
  18   1         api_vI2CPinSelect();
  19   1      
  20   1         for (count = ERROR_COUNT;count > 0;count--)
  21   1         {
  22   2            IIC_DAT = 1;
  23   2            vI2C_Delay();
  24   2            IIC_CLK = 1;
  25   2            vI2C_Delay();
  26   2            IIC_DAT = 0;
  27   2            vI2C_Delay();
  28   2            IIC_CLK = 0;
  29   2            vI2C_Delay();    
  30   2            if (!(IIC_DAT|IIC_CLK)) break;
  31   2         }
  32   1      }
  33          
  34          //--------------------------------------------------------------------------
  35          void vI2C_Stop(void)
  36          {
  37   1         INT8U count;
  38   1      
  39   1         for (count = ERROR_COUNT;count > 0;count--)
  40   1         {
  41   2            IIC_DAT = 0;
  42   2                      vI2C_Delay(); 
  43   2            IIC_CLK = 0;
  44   2            vI2C_Delay();      
  45   2            IIC_CLK = 1;
  46   2            vI2C_Delay();
  47   2            IIC_DAT = 1;
  48   2            vI2C_Delay(); 
  49   2            if (IIC_DAT&IIC_CLK) break;
  50   2         }
  51   1         
  52   1         api_vI2CPinRecover();
  53   1      }
C51 COMPILER V7.50   I2C                                                                   09/05/2008 09:54:54 PAGE 2   

  54          
  55          //--------------------------------------------------------------------------
  56          INT8U u8I2C_ByteIn(INT8U isLast)
  57          {
  58   1         INT8U dt = 0x00;
  59   1         INT8U i;
  60   1      
  61   1         IIC_DAT = 1;
  62   1            
  63   1         for ( i=0x80; i; i>>=1 ) {
  64   2                IicBitIn();
  65   2                      vI2C_Delay(); 
  66   2            if(IIC_DAT) dt |= i;
  67   2            IIC_CLK = 0;
  68   2         }
  69   1      
  70   1         //send ACK
  71   1         IIC_DAT = isLast;
  72   1         IIC_CLK = 1;
  73   1         vI2C_Delay();
  74   1         IIC_CLK = 0;
  75   1               vI2C_Delay(); 
  76   1         IIC_DAT = 1;
  77   1         vI2C_Delay();
  78   1      
  79   1         return dt;
  80   1      }
  81          
  82          //--------------------------------------------------------------------------
  83          BOOLEAN bI2C_ByteOut(INT8U dt)
  84          {
  85   1         INT8U count;
  86   1      
  87   1         for (count = 0; count < 8; count ++, dt <<= 1) {
  88   2              IicBitOut(dt & 0x80);
  89   2         }
  90   1      
  91   1         // Ack
  92   1         IIC_DAT = 1;
  93   1         vI2C_Delay();
  94   1         IIC_CLK = 1;
  95   1         vI2C_Delay();
  96   1      
  97   1         for (count = ERROR_COUNT;count > 0;count--)
  98   1         {
  99   2            if (!IIC_DAT) 
 100   2            {
 101   3               IIC_CLK = 0;
 102   3               return TRUE;
 103   3            }
 104   2         }
 105   1            
 106   1         IIC_CLK  =  0;
 107   1         
 108   1         api_vI2CPinRecover();
 109   1         
 110   1         return FALSE;
 111   1      }
 112          
 113          //#endif


C51 COMPILER V7.50   I2C                                                                   09/05/2008 09:54:54 PAGE 3   

MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    167    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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