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

📄 i2cint.h

📁 群星单片机lm3s1958 iic总线。支持iic0和iic1切换。
💻 H
字号:
/* 
--------------------------------------------------------------------------------------------------------- 
********************************************************************************************************* 
** 文件名称 :	I2CINT.h 
** 功能说明 :	Luminary硬件I2C中断方式软件包。 
** 使用说明 :  主程序要配置好I2C总线接口(I2C引脚功能和I2C中断,并已使能I2C主模式) 
********************************************************************************************************* 
--------------------------------------------------------------------------------------------------------- 
*/ 
#ifndef  __I2CINT_H__ 
#define  __I2CINT_H__ 
 
#ifdef __cplusplus 
extern "C" 
{ 
#endif 
 
#ifndef uchar  
#define uchar unsigned char 
#endif 
 
#ifndef ulong  
#define ulong unsigned long 
#endif 
 

extern void I2CMBaseSet(ulong ulBase);
extern void I2CMasterSpeedSet(ulong ulSpeed); 
/* 
********************************************************************************************************* 
** 函数名称:I2CInit() 
** 函数功能:I2C接口初始化。 
** 入口参数:spd		总线速度100K(参数值为100000)或400K(参数值为4000000) 
**           pri		中断优先级0~7 
** 出口参数:返回值为false时表示操作出错,为true时表示操作正确。 
** 说明: 
********************************************************************************************************* 
*/ 
extern int I2CInit(uchar pri);  
 
 
/* 
********************************************************************************************************* 
** 函数名称:ISendByte() 
** 函数功能:向无子地址器件发送1字节数据。 
** 入口参数:sla		器件地址 
**           c			要发送的数据 
** 出口参数:返回值为false时表示操作出错,为true时表示操作正确。 
** 说明:	使用前要初始化好I2C引脚功能和I2C中断,并已使能I2C主模式 
********************************************************************************************************* 
*/  
extern int ISendByte(uchar sla, uchar c); 
 
 
/* 
********************************************************************************************************* 
** 函数名称 :ISendStr() 
** 函数功能 :向有子地址器件任意地址开始写入N字节数据 
** 入口参数 :	sla			器件从地址 
**				suba_type	子地址结构	0-8+X结构  1-单字节地址  2-双字节地址  3-三字节地址 
**				suba		器件子地址 
**				s			数据发送缓冲区指针 
**				no			写入的个数 
** 出口参数 :	TRUE		操作成功 
**				FALSE		操作失败 
********************************************************************************************************* 
*/  
extern int ISendStr(uchar sla, ulong suba, uchar sub_type, uchar *s, ulong no); 
 
/* 
********************************************************************************************************* 
** 函数名称:ISendStrExt() 
** 函数功能:向无子地址器件发送多字节数据。 
** 入口参数:sla		器件地址 
**           s			要发送的数据 
**  		 no			发送的字节个数 
** 出口参数:返回值为false时表示操作出错,为true时表示操作正确。 
** 说明:	 发送数据字节至少2个字节 
********************************************************************************************************* 
*/ 
extern int ISendStrExt(uchar sla, uchar *s, uchar no); 
 
 
/* 
********************************************************************************************************* 
** 函数名称:IRcvByte() 
** 函数功能:向无子地址器件读取1字节数据。 
** 入口参数:sla		器件地址 
**           c			接收数据的变量指针 
** 出口参数:返回值为false时表示操作出错,为true时表示操作正确。 
** 说明:	使用前要初始化好I2C引脚功能和I2C中断,并已使能I2C主模式 
********************************************************************************************************* 
*/ 
extern int IRcvByte(uchar sla, uchar *c); 
 
 
/* 
********************************************************************************************************* 
** 函数名称 :IRcvStr() 
** 函数功能 :向有子地址器件读取N字节数据 
** 入口参数 :	sla			器件从地址 
**				suba_type	子地址结构	0-8+X结构  1-单字节地址  2-双字节地址  3-三字节地址 
**			  	suba		器件内部物理地址 
**			  	*s			将要读取的数据的指针 
**			  	no			将要读取的数据的个数 
** 出口参数 :	TRUE		操作成功 
**			  	FALSE		操作失败 
********************************************************************************************************* 
*/ 
extern int IRcvStr(uchar sla, ulong suba, uchar sub_type, uchar *s, uchar no); 
 
 
/* 
********************************************************************************************************* 
** 函数名称:IRvcStrExt() 
** 函数功能:向无子地址器件读取N字节数据。 
** 入口参数:sla		器件地址 
**           s			接收数据的变量指针 
**			 no			将要读取的数据的个数 
** 出口参数:使用前要初始化好I2C引脚功能和I2C中断,并已使能I2C主模式 
** 说明:	至少要读取2个字节 
********************************************************************************************************* 
*/ 
extern int IRvcStrExt(uchar sla, uchar *s, uchar no); 
 
#ifdef __cplusplus 
} 
#endif 
 
#endif    // __I2C_H__ 

⌨️ 快捷键说明

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