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

📄 i2c.h

📁 μCOS-II下LPC213x的I2c主模式底层驱动 结合中断方式 根据ATPCS优化原则 减少读写参数 4 原来由邮箱传递更改为查询方式 (个人原创)
💻 H
字号:

#define	ONE_BYTE_SUBA	1
#define TWO_BYTE_SUBA	2
#define X_ADD_8_SUBA	3

/****************************************Copyright (c)**************************************************
**                              四川唐门高新技术开发有限公司
**                                     研    发    部
**                                独门暗器之孔雀翎研究室 
**
**                                http://www.蜀中唐门.com
**
**                                   维护健康 信守诚诺
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: I2c.c
**创   建   人: 赖皮 
**最后修改日期: 2006年12月21日
**描        述: μCOS-II下LPC213x的I2c主模式底层驱动 
**              
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 赖皮 
** 版  本: v1.0
** 日 期: 2006年12月8日
** 描 述: 结合ZLG中断方式和uC中间件创建原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人: 赖皮 
** 版  本: v1.1
** 日 期: 2006年12月21日
** 描 述: 采用信号量满足互斥操作
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人: 赖皮
** 版  本: v2.0
** 日 期: 2007年01月26日
** 描 述: 结合中断方式   根据ATPCS优化原则  减少读写参数 4
**         原来由邮箱传递更改为查询方式  增加配置文件I2Ccfg.h便于移植
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人: 
** 版  本: 
** 日 期: 
** 描 述:  
**   
**          LAI2005PI@126.com      
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

/*
*********************************************************************************************************
** 函数名称 :I2cInit()
** 函数功能 :I2C初始化
** 入口参数 :Fi2c	I2C总线频率(最大400K)
** 出口参数 :无
*********************************************************************************************************
*/ 
extern void I2cInit(uint32 Fi2c);
/*
**********************************************************************************************************
** 函数名称:ISendByte()
** 函数功能:向无子地址器件发送1字节数据。
** 入口参数:sla		器件地址
**           dat		要发送的数据
** 出口参数:返回值为0时表示出错,为1时表示操作正确。
** 说明:	使用前要初始化好I2C引脚功能和I2C中断,并已使能I2C主模式
*********************************************************************************************************
*/
extern uint8  ISendByte(uint8 sla, uint8 dat);
/*
*********************************************************************************************************
** 函数名称:IRcvByte()
** 函数功能:向无子地址器件读取1字节数据。
** 入口参数:sla		器件地址
**           dat		接收数据的变量指针
** 出口参数:返回值为0时表示操作出错,为1时表示操作正确。
** 说明:使用前要初始化好I2C引脚功能和I2C中断,并已使能I2C主模式
*********************************************************************************************************
*/
extern  uint8  IRcvByte(uint8 sla, uint8 *dat);
/*
*********************************************************************************************************
** 函数名称 :I2C_ReadNByte()
** 函数功能 :从有子地址器件任意地址开始读取N字节数据
** 入口参数 :	sla			器件从地址
**				suba_type	子地址结构	1-单字节地址	2-8+X结构	2-双字节地址
**				suba		器件子地址
**				s			数据接收缓冲区指针
**				num			读取的个数
** 出口参数 :	TRUE		操作成功
**				FALSE		操作失败
*********************************************************************************************************
*/
extern uint8 I2C_ReadNByte (uint8 sla,uint32 suba, uint8 *s, uint32 num);
/*
*********************************************************************************************************
** 函数名称 :I2C_WriteNByte()
** 函数功能 :向有子地址器件写入N字节数据
** 入口参数 :	sla			器件从地址
**				suba_type	子地址结构	1-单字节地址	3-8+X结构	2-双字节地址
**			  	suba		器件内部物理地址
**			  	*s			将要写入的数据的指针
**			  	num			将要写入的数据的个数
** 出口参数 :	TRUE		操作成功
**			  	FALSE		操作失败
*********************************************************************************************************
*/
extern uint8 I2C_WriteNByte(uint8 sla,uint32 suba, uint8 *s, uint32 num);
/*
*********************************************************************************************************
** 函数名称 :__irq IRQ_I2C()
** 函数名次 :硬件I2C中断服务程序。 
** 入口参数 :无
** 出口参数 :无
** 说明     :注意处理子地址为2字节的情况。 
*********************************************************************************************************
*/
extern void IRQ_I2C(void);


⌨️ 快捷键说明

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