www.pudn.com > can——SJA1000.rar > VIIC_C51.H


/***************************************************************** 
               头文件名    VIIC_C51.H 
 
   这个头文件对应的库是VIIC_C51.LIB,库中有几个模拟I2C的函数,加入此文件  
即可使用I2C平台(主方式的软件平台), 函数是对LPC764的I2C的I/O口实 
现,即其P1.3 (SDA)   , P1.2(SCL),51系列机型可以通用. 
            
   注意: 函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作  
一定的修改....(本例是1us机器周期,即晶振频率要小于12MHZ). 
(函数的使用可参考给出的事例程序.) 
*****************************************************************/ 
 
#ifdef uchar  
  #define READYDEF 1   /*宏uchar已定义*/ 
#else   
  #define uchar unsigned char 
#endif 
 
 
/******************************************************************* 
                     无子地址发送字节数据函数                
 
功能:     从启动总线到发送地址,数据,结束总线的全过程,从器件地址sla. 
           如果返回1表示操作成功,否则操作有误。 
********************************************************************/ 
extern bit ISendByte(uchar sla,uchar c); 
  
 
 
 
 
/******************************************************************* 
                     有子地址发送多字节数据函数                
 
功能:     从启动总线到发送地址,子地址,数据,结束总线的全过程,从器件 
          地址sla,子地址suba,发送内容是s指向的内容,发送no个字节。 
           如果返回1表示操作成功,否则操作有误。 
********************************************************************/ 
extern bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no) ; 
 
 
 
/******************************************************************* 
                    无子地址读字节数据函数                
 
功能:     从启动总线到发送地址,读数据,结束总线的全过程,从器件地 
          址sla,返回值在c. 
           如果返回1表示操作成功,否则操作有误。 
********************************************************************/ 
extern bit IRcvByte(uchar sla,uchar *c); 
 
 
 
 
 
/******************************************************************* 
                    有子地址读取多字节数据函数                
    
功能:     从启动总线到发送地址,子地址,读数据,结束总线的全过程,从器件 
          地址sla,子地址suba,读出的内容放入s指向的存储区,读no个字节。 
           如果返回1表示操作成功,否则操作有误。 
********************************************************************/ 
extern bit IRcvStr(uchar sla,uchar suba,uchar *s,uchar no); 
 
 
 
#ifndef READYDEF 
  #undef uchar 
#endif