📄 i2c.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 + -