# i2c_code **Repository Path**: huhonghaohhh/i2c_code ## Basic Information - **Project Name**: i2c_code - **Description**: 个人基于iic的理解,使用面向对象方法对模拟iic驱动进行了初步封装,仅供参考 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2022-12-07 - **Last Updated**: 2025-07-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 文件说明 1、i2c_lib.c i2c_lib.h 模拟iic驱动层封装,提供读字节(包含应答位检测)、 写字节(包含应答位)、起始位、停止位接口 2、i2c.c i2c.h 具体硬件配置和操作接口设计 3、demo.c 具体设备的时序实现 ## 使用时: 1、i2c.c实现IO口资源的配置和操作 2、demo.c需要实例化(定义)一个I2COperation结构体变量,使用i2c.h提供的接口 对给结构体变量进行初始化,然后调用其结构体成员configFun对io资源进行初始化。 使用i2c_lib.h提供的接口,设计与具体设备的读写字节序 核心主要在于结构体的设计,体现的是一种面向对象的编程思想。该结构体可以进一步封装,如添加IO口资源, 在调用初始化成员时对IO资源进行初始化,但这可能导致结构体的成员和具体硬件绑定,有兴趣可自行尝试 ## 关于应答位 谁应答:接收方 什么时候非应答:1、找不到接收方;2、接收方不想或无法继续接收数据时