I/O口模拟I2C驱动代码

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此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"

/*******************************************************************************
// 模块内部定义
*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值