i2c_dev.h中相关数据结构(struct rt_i2c_priv_data用于i2c_bus_device_control()函数中RT_I2C_DEV_CTRL_RW控制标志): #defineRT_I2C_DEV_CTRL_10BIT 0x20#defineRT_I2C_DEV_CTRL_ADDR 0x21#defineRT_I2C_DEV_CTRL_TIMEOUT 0x22#defineRT_I2C_DEV_CTRL_RW 0x23structrt_i2c_priv_data {structrt_i2c_...
软件I2C时序所需要的的延时函数 rt_i2c_bit_add_bus接口,主要注册软件I2C的引脚操作的回调函数。 bit_opt层:可以归纳为驱动层。其主要实现软件I2C的时序等逻辑,并提供对应的I2C的收发处理函数,为drv_soft_i2c层提供提供了(struct rt_i2c_bit_ops)注册接口和(rt_i2c_bit_add_bus)接口,为i2c_core层提供主机模式...
result = rt_i2c_bit_add_bus(&i2c_obj[i].i2c2_bus, soft_i2c_config[i].bus_name); RT_ASSERT(result == RT_EOK); stm32_i2c_bus_unlock(&soft_i2c_config[i]); 这里的核心还是这个函数:rt_i2c_bit_add_bus,将IO操作的函数注册到设备驱动框架里面。 这边的操作代码需要看下 \components\drivers...
opt层提供的操作结构体:struct rt_i2c_bit_ops。并通过rt_i2c_bit_add_bus注册,提供给bit_opt层...
i2c_dev.h中相关数据结构(struct rt_i2c_priv_data用于i2c_bus_device_control()函数中RT_I2C_DEV_CTRL_RW控制标志): #define RT_I2C_DEV_CTRL_10BIT 0x20 #define RT_I2C_DEV_CTRL_ADDR 0x21 #define RT_I2C_DEV_CTRL_TIMEOUT 0x22 #define RT_I2C_DEV_CTRL_RW 0x23 ...
先分析 I2C 总线设备注册的流程 在drv_soft_i2c.c 中 INIT_BOARD_EXPORT(rt_hw_i2c_init); 则OS 运行时会自启动 rt_hw_i2c_init 进行 模拟I2C 相关硬件IO的初始化 rt_hw_i2c_init -> rt_i2c_bit_add_bus -> rt_i2c_bus_device_register -> rt_i2c_bus_device_device_init -> rt_device_registe...
defined(BSP_USING_I2C3) && !defined(BSP_USING_I2C4)#error"Please define at least one BSP_USING_I2Cx"/* this driver can be disabled at menuconfig → RT-Thread Components → Device Drivers */#endifstaticconststructstm32_soft_i2c_configsoft_i2c_config[] ={#ifdefBSP_USING_I2C1I2C1_BUS_...
一、RT-Thread I2C 总线注册 1.1 I2C 设备使用步骤 1.2 检查问题 二、温湿度传感器软件包 2.1 添加及基本测试 2.2 程序中使用 三、EEPROM软件包 3.1 添加及基本测试 3.2 程序中使用 结语 前言 组件与软件包部分之前文章我们学习了 2 个组件: SFUD组件与 AT组件。 RT-Thread 丰富的生态系统,除了一些标准的组件...
[i].ops;stm32_i2c_gpio_init(&i2c_obj[i]);result=rt_i2c_bit_add_bus(&i2c_obj[i].i2c2_bus,soft_i2c_config[i].bus_name);RT_ASSERT(result==RT_EOK);stm32_i2c_bus_unlock(&soft_i2c_config[i]);LOG_D("software simulation %s init done, pin scl: %d, pin sda %d",soft_i2c_...
| SPI | 支持| 低速SPI,支持 SPI BUS,8/32bit 主机模式 | | SPI Flash | 支持| 支持W25QXX、SFUD | | WDT | 支持| 支持| | I2C | 支持| 硬件I2C | | I2C | 支持| 硬件I2C 和 软件 I2C | | RTC | 支持| 支持ntp 同步、支持 Alarm | | ADC | 支持| 8 channel ADC 采集 CPU 温度采集(...