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

📄 i2c.h

📁 24WC256芯片的驱动程序。由CCS3.1开发
💻 H
字号:
/*=========================================
Title:	 I2C_H
Author:	DAI,daihj07@mails.tsinghua.edu.cn,DME@THU
Date:	Dec 20,2007
version: v1.0
funciton:DSP中模拟I2C时序,在2407中实现
参考:
http://blog.21ic.com/user1/349/archives/2005/2751.html
MCS-51单片机模拟I2C软件包(V1.1)(c)
===========================================*/

#ifndef _I2C_H_
#define _I2C_H_


#define  uchar unsigned char  /*宏定义*/
#define  uint  unsigned int
#define bit unsigned int
#define  _Nop()  I2cDelay(10)        /*定义空指令*/
//#define  _Nop()  I2cDelay(1)        /*定义空指令*/ 可以, 未烧到flash
//#define SDA  _PBDATDIR.bit0
//#define SCL  _PBDATDIR.bit1
#define SDA  _PCDATDIR.bit1	//IOPC1
#define SCL  _PFDATDIR.bit5	//IOPF5

//#define OUT _PBDATDIR.bit8=1;	_PBDATDIR.bit9=1  //数据线改为输出
//#define IN _PBDATDIR.bit8=0;	_PBDATDIR.bit9=1  //数据线改为输入
#define OUT _PCDATDIR.bit9=1;	_PFDATDIR.bit13=1  //数据线改为输出
#define IN	 _PCDATDIR.bit9=0;	_PFDATDIR.bit13=1
/*==================================================================*/
/*				IO设置*/
/*==================================================================*/
/*//////////////////////////////////////////////////////////////////////////////////////
1、I2C 掉电保存存储器
引脚  A0    A1     SCL      SDA
DSP IO  GND GND   IOPF5   IOPC1
*/////////////////////////////////////////////////////////////////////////////////////////////////////
//#define I2C_SCL  _PFDATDIR.bit5
//#define I2C_SDA  _PCDATDIR.bit1

/*	应用示例
main()
{
	uchar card[32],temp,rcard[32];
	unsigned int i;
	uchar addr;
	bit flag1,flag2;
	uchar sla=0xA0;
	uchar suba=0x00;
	uchar no=32;
	flag1=0;
	flag2=0;
	for(i=0;i<no;i++)
		{
		card[i]=i;
		rcard[i]=0x00;
		}
	addr=suba;
	while(1)
	{

	flag1=SendStr(sla,suba,card,no);
	Delay(10000);
	for(i=0;i<no;i++)
		{
	flag2=RcvStr(sla,addr,rcard,no);
	Delay(10);
		}
	}

}
*/

/*******************************************************************
                    向有子地址器件发送多字节数据函数               
函数原型: bit  ISendStr(uchar sla,uchar suba,ucahr *s,uchar no);  
功能:     从启动总线到发送地址,子地址,数据,结束总线的全过程,从器件
          地址sla,子地址suba,发送内容是s指向的内容,发送no个字节。
          如果返回1表示操作成功,否则操作有误。
注意:    使用前必须已结束总线。
********************************************************************/
bit SendStr(uchar sla,uchar suba,uchar *s,uchar no);


/*******************************************************************
                    向有子地址器件读取多字节数据函数               
函数原型: bit  ISendStr(uchar sla,uchar suba,ucahr *s,uchar no);  
功能:     从启动总线到发送地址,子地址,读数据,结束总线的全过程,从器件
          地址sla,子地址suba,读出的内容放入s指向的存储区,读no个字节。
           如果返回1表示操作成功,否则操作有误。
注意:    使用前必须已结束总线。
********************************************************************/
bit RcvStr(uchar sla,uchar suba,uchar *s,uchar no);

#endif//_I2C_H_

⌨️ 快捷键说明

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