📄 i2cint.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
/*
******************************************************************************************
** 函数名称: Delays()
** 函数功能: 延时
** 入口参数: dly
** 出口参数: 无
******************************************************************************************
*/
extern void Delays (ulong dly);
/*
*********************************************************************************************************
** 函数名称:I2CInit()
** 函数功能:I2C接口初始化。
** 入口参数:spd 总线速度100K(参数值为100000)或400K(参数值为4000000)
** pri 中断优先级0~7
** 出口参数:返回值为false时表示操作出错,为true时表示操作正确。
** 说明:
*********************************************************************************************************
*/
extern int I2CInit(ulong spd, 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 + -