Soft_I2C_Driver/software_i2c
ArthurCai 3d500401a9 fix(软件模拟I2C):修改宏定义,方便后续兼容
1. 移动地址长度宏到 bsp_soft_i2c.h 文件内
2. 根据 GD32F30X_XX 和 STM32F10X_XX 生成对应的宏 SOFT_I2C_GD32F3_USED 和 SOFT_I2C_STM32F1_USED
3. 修改 bsp_soft_i2c_private.h 文件内的宏函数结构
4. 修改 bsp_soft_i2c.c 内时钟延展等待计数为可修改的宏 SOFT_I2C_WAIT_CNT

Signed-off-by: ArthurCai <arthurcai_c@163.com>
2024-01-29 22:41:21 +08:00
..
dsview feat(软件模拟I2C) 2024-01-27 21:30:32 +08:00
lib feat(软件模拟I2C) 2024-01-27 21:30:32 +08:00
bsp_soft_i2c_private.h fix(软件模拟I2C):修改宏定义,方便后续兼容 2024-01-29 22:41:21 +08:00
bsp_soft_i2c.c fix(软件模拟I2C):修改宏定义,方便后续兼容 2024-01-29 22:41:21 +08:00
bsp_soft_i2c.h fix(软件模拟I2C):修改宏定义,方便后续兼容 2024-01-29 22:41:21 +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