一般情况下 MCU 的 I2C 器件都是作为主机和从机通讯,在 RT-Thread 中将 I2C 主机虚拟为 I2C总线设备,I2C 从机通过 I2C 设备接口和 I2C 总线通讯,相关接口如下所示: 使用方式参考官方文档即可,在此不做赘述。 驱动源码分析 i2c_core.c i2c总线协议控制的核心实现 i2c_dev.c i2c总线设备框架输线 i2c-bit-ops...
本文主要介绍RT-thread中IIC总线设备驱动,涉及到的主要文件有:驱动框架文件(i2c_core.c,i2c_dev.c,i2c-bit-ops.c,i2c_dev.h,i2c.h);底层硬件驱动文件(i2c_soft.c,i2c_soft.h)。这里的i2c_soft.c和i2c_soft.h是指利用MCU的GPIO口模拟IIC总线时序,而不是利用MCU的硬件IIC接口。应用IIC总线设备驱动时,需要...
软件I2C驱动总结:rt-thread的软件I2C,如果要对接其他平台,只需要对接好结构体:struct rt_i2c_bit_ops。而软件I2C的逻辑完全不用理会,全部由bit_opt层管理。 硬件I2C 硬件I2C的层次图: drv_hw_i2c层:没有软件I2C的bit_opt层,而是直接对接i2c_core层提供的结构体:struct rt_i2c_bus_device_ops。作者为了简单说...
本文主要介绍RT-thread中IIC总线设备驱动,涉及到的主要文件有:驱动框架文件(i2c_core.c,i2c_dev.c,i2c-bit-ops.c,i2c_dev.h,i2c.h);底层硬件驱动文件(i2c_soft.c,i2c_soft.h)。这里的i2c_soft.c和i2c_soft.h是指利用MCU的GPIO口模拟IIC总线时序,而不是利用MCU的硬件IIC接口。应用IIC总线设备驱动时,需要...
STM32L051测试 (三、I2C协议设备的添加测试) nRF52832学习记录(十一、TWI总线的应用 SHT21程序移植) 我们这里只是把裸机使用的文件改成在 RT-Thread 上使用的文件。 2.1 移植步骤 首先我们把驱动文件都拷贝过来(Datadef.h 是我个人习惯使用的一些数据类型宏定义): ...
1、了解rtthread中模拟I2C驱动框架 模拟I2C驱动框架是将I2C的START、STOP、READ、WRITE通过操作GPIO拉高拉低实现的,时钟周期控制则是通过IO翻转附加延时的方式实现,模拟的方式最简单粗暴,但是相对于硬件的方式比较浪费CPU资源。 关于模拟I2C框架中需要实现的操作函数: ...
3.2 启用I2C设备驱动 使用env工具命令行进入 rt-thread spstm32f4xx-HAL 目录,然后输入menuconfig命令进入配置界面。 配置shell使用串口1:选中Using UART1,进入RT-Thread Kernel ---> Kernel Device Object菜单,修改the device name for console为uart1。
RT-Thread I2C设备驱动目前只支持主机模式,使用RT-Thread I2C设备驱动需要使用menuconfig工具开启宏RT_USING_DEVICE和RT_USING_I2C,如果要使用GPIO模拟I2C还需开启宏RT_USING_I2C_BITOPS。 使用I2C设备驱动的大致流程如下: 用户可以在msh shell输入list_device命令查看已有的I2C设备,确定I2C设备名称。
1. 介绍2. 添加I2C设备 2.1. 打开I2C设备驱动框架 双击左侧RT-Thread Setting文件,即可打开RT-Thread图形化配置工具,软件模拟I2C这一项是灰色的,表示没有打开,单击一下即可打开软件 I2C 的驱动框架,图标变为彩色表示打开: 右击该选项可以打开更多配置,比如查看该驱动设备的依赖、查看该驱动设备的详细配置,查看该驱动...