此I2C代码是通用代码。不是什么高难度技术。
头文件 I2C.H :
#ifndef _I2C_H
#define _I2C_H
//定义函数
void I2C_Initial(void);
void I2C_Set_sda_high(void);
void I2C_Set_sda_low (void);
void I2C_Set_sck_high(void);
void I2C_Set_sck_low (void);
BYTE I2C_GetACK(void);
void I2C_SetACK(void);
void I2C_SetNAk(void);
void I2C_START(void);
void I2C_STOP(void);
void I2C_TxByte(BYTE);
BYTE I2C_RxByte(void);
BYTE WriteSingleByte(BYTE nAddr,BYTE nValue);
BYTE PageWrite(BYTE nAddr,BYTE *pBuf);
BYTE ReadRandom(BYTE nAddr, BYTE *nValue);
BYTE ReadSeq(BYTE nAddr,BYTE *nValue,BYTE nLen);
#endif
源文件 I2C.C :
/*******************************************************************************
* 版权所有 (C)2007,XXXXXXXX。
*
* 文件名称:XXXXXX
* 文件标识:
* 内容摘要:
* 其它说明:
* 当前版本:1.0
* 作 者:XXXX
* 开始日期:XXXX年XX月XX日
*
* 修改记录1:
* 修改日期:
* 版 本 号:
* 修 改 人:
* 修改内容:
* 修改记录2:…
*******************************************************************************/
/*******************************************************************************
// 模块运行环境配置
*******************************************************************************/
#include "AX5051_subject.h"
#include "AX5051_Registers.h"
#include "AX5051_device.h"
/*******************************************************************************
// 模块内部定义
*

这篇博客分享了一段通用的I2C驱动代码,通过I/O口模拟实现,适用于不同设备的I2C通信,技术难度不高。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



