Soft_I2C_Driver/software_i2c
ArthurCai 3921acd5c7 fix(软件模拟I2C):修复读数据错误、宏定义缺失,新增测试GD32F305ZE
1. 调整读取数据的时序,修复读取第一个bit出错的问题
2. 添加 bsp_soft_i2c_private.h 文件内缺失的宏定义
3. 增加GD32F305ZE核心板测试波形
4. 按修改后的驱动重新测试了GD32F303RE和STM32F103C8的波形

Signed-off-by: ArthurCai <arthurcai_c@163.com>
2024-01-30 21:54:07 +08:00
..
dsview fix(软件模拟I2C):修复读数据错误、宏定义缺失,新增测试GD32F305ZE 2024-01-30 21:54:07 +08:00
lib feat(软件模拟I2C) 2024-01-27 21:30:32 +08:00
bsp_soft_i2c_private.h fix(软件模拟I2C):修复读数据错误、宏定义缺失,新增测试GD32F305ZE 2024-01-30 21:54:07 +08:00
bsp_soft_i2c.c fix(软件模拟I2C):修复读数据错误、宏定义缺失,新增测试GD32F305ZE 2024-01-30 21:54:07 +08:00
bsp_soft_i2c.h fix(软件模拟I2C):修复读数据错误、宏定义缺失,新增测试GD32F305ZE 2024-01-30 21:54:07 +08:00
readme.txt fix(软件模拟I2C):修改readme文件 2024-01-27 21:33:13 +08:00

软件模拟I2C驱动

【特性】
1. 支持时钟延展
2. 支持400KHz快速模式
3. 支持GD32F30x平台和STM32F10x平台

【移植步骤】
1. 将 bsp_soft_i2c.c, bsp_soft_i2c.h, bsp_soft_i2c_private.h 文件添加到工程中
2. GD工程需要有全局宏 GD32F30X_HD 或 GD32F30X_XD 或 GD32F30X_CL
3. STM工程需要有全局宏 STM32F10X_HD 或 STM32F10X_MD 或 STM32F10X_CL 以及 USE_STDPERIPH_DRIVER

【使用方法】
1. 在一个驱动注册.c文件中使用 SOFT_I2C_DEF 接口, 参照其注释,注册 I2C 驱动
2. 如果需要外部声明, 则需要在驱动注册.h文件中使用 SOFT_I2C_EXT 接口
3. 其他文件使用 I2C 驱动时, 需包含h头文件
4. 调用 soft_i2c_init() 函数初始化 I2C 驱动, 此函数会初始化监控变量, 并强制配置SCL和SDA为开漏高电平
5. 调用 soft_i2c_write() 函数进行 I2C 数据发送
6. 调用 soft_i2c_read() 函数进行 I2C 数据读取

【开启时钟延展】
1. 在 bsp_soft_i2c.h 文件中, 取消注释 __SOFT_I2C_CLOCK_STRECH_EN__
2. 或者在工程中, 添加全局宏 __SOFT_I2C_CLOCK_STRECH_EN__

【联系方式】
如有BUG, 请联系 arthurcai_c@163.com