📄 i2c.h
字号:
#ifndef __I2C_H__
#define __I2C_H__
//存储器类芯片从机地址高四位为1010
/*
#define SLA24CL04HP 0xA6 //1010,0(A2)1(A1)1(高半叶)0 高256字节
#define SLA24CL04LP 0xA4 //1010,0(A2)1(A1)0(高半叶)0 低256字节
*/
#define SLA24CL04 0xA4 //1010,0(A2)1(A1)0(高半叶)0 低256字节
#define SLA3104Mem 0xA0 //1010,*(无关位)0(A1)0(A0)0
#define SLA3104RTC 0xD0 //1101,*(无关位)0(A1)0(A0)0
//****************************************************************************
//初始化I2C模块
//****************************************************************************
extern void I2CMasterInit(void);
/*****************************************************************************
*I2C总线向有子地址器件读取多字节数据函数
*返回0表示操作失败,返回1表示操作成功
*Sla 从机地址; uchar a
*SubAddr 丛机子地址;
*pRecvBuf 待发送的数据缓冲头指针,若是发送单字节则直接取变量地址即可;
*Num 待发送数据的字节数
*****************************************************************************/
extern unsigned char I2CNByteRecv(unsigned char Sla, unsigned int SubAddr, unsigned char *pRecvBuf, unsigned int Num);
/*****************************************************************************
*I2C 总线向有子地址器件发送多字节数据函数
*返回0表示操作失败,返回1表示操作成功
*Sla 从机地址; uchar a
*SubAddr 丛机子地址;
*pStr 待发送的数据缓冲头指针,若是发送单字节则直接取变量地址即可;
*Num 待发送数据的字节数
*****************************************************************************/
extern unsigned char I2CNByteSend(unsigned char Sla, unsigned int SubAddr, unsigned char *pSendBuf, unsigned int Num);
/******************************************************************************************
//24CL04的读写有一些特殊故单写出来
/******************************************************************************************
/******************************************************************************
*I2C总线向有子地址器件读取多字节数据函数
*返回0表示操作失败,返回1表示操作成功
*Sla 从机地址; uchar a
*SubAddr 丛机子地址;
*pRecvBuf 待发送的数据缓冲头指针,若是发送单字节则直接取变量地址即可;
*Num 待发送数据的字节数
******************************************************************************/
extern unsigned char FM24CL04NByteRecv(unsigned char Sla, unsigned int SubAddr, unsigned char *pRecvBuf, unsigned int Num);
/******************************************************************************
*I2C 总线向有子地址器件发送多字节数据函数
*返回0表示操作失败,返回1表示操作成功
*Sla 从机地址; uchar a
*SubAddr 丛机子地址;
*pStr 待发送的数据缓冲头指针,若是发送单字节则直接取变量地址即可;
*Num 待发送数据的字节数
*******************************************************************************/
extern unsigned char FM24CL04NByteSend(unsigned char Sla, unsigned int SubAddr, unsigned char *pSendBuf, unsigned int Num);
extern void FM24CL04Test(void);
extern void FM3104MemTest(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -