一般情况下 MCU 的 I2C 器件都是作为主机和从机通讯,在 RT-Thread 中将 I2C 主机虚拟为 I2C 总线设备,I2C 从机通过 I2C 设备接口和 I2C 总线通讯,相关接口如下所示: 2.1查找I2C总线设备 在使用 I2C 总线设备前需要根据 I2C 总线设备名称获取设备句柄,进而才可以操作 I2C 总线设备,查找设备函数如下所示, rt_d...
一般情况下MCU 的I2C 器件都是作为主机和从机通讯,在RT-Thread 中将I2C 主机虚拟为I2C 总线设备,I2C 从机通过I2C 设备接口和I2C 总线通讯,相关接口如下所示: 五、查找i2c总线设备 在使用I2C 总线设备前需要根据I2C 总线设备名称获取设备句柄,进而才可以操作I2C 总线设备,查找设备函数如下所示, rt_device_t rt_d...
一般情况下 MCU 的 I2C 器件都是作为主机和从机通讯,在 RT-Thread 中将 I2C 主机虚拟为 I2C总线设备,I2C 从机通过 I2C 设备接口和 I2C 总线通讯,相关接口如下所示: 使用方式参考官方文档即可,在此不做赘述。 驱动源码分析 i2c_core.c i2c总线协议控制的核心实现 i2c_dev.c i2c总线设备框架输线 i2c-bit-ops...
需要注意的是rt_i2c_master_send返回的是发送的消息的个数,且不包含一开始发送的设备地址IST8310_ADDR的。 下面的读取函数也是同理的,先发送想要读取的read_addr,然后利用rt_i2c_master_recv函数进行读取。 rt_err_t ist8310_iic_read(rt_uint8_t read_addr, rt_uint32_t len, rt_uint8_t *buf) { /...
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_i2c_bus_device对i2c控制器进行抽象。i2c驱动框架仅需关注rt_i2c_...
1 RT-Thread 的I2C简介 I2C(Inter Integrated Circuit)总线是 PHILIPS 公司开发的一种半双工、双向二...
1、了解rtthread中模拟I2C驱动框架 模拟I2C驱动框架是将I2C的START、STOP、READ、WRITE通过操作GPIO拉高拉低实现的,时钟周期控制则是通过IO翻转附加延时的方式实现,模拟的方式最简单粗暴,但是相对于硬件的方式比较浪费CPU资源。 关于模拟I2C框架中需要实现的操作函数: ...
一般情况下MCU 的I2C 器件都是作为主机和从机通讯,在RT-Thread 中将I2C 主机虚拟为I2C 总线设备,I2C 从机通过I2C 设备接口和I2C 总线通讯,相关接口如下所示: 五、查找i2c总线设备 在使用I2C 总线设备前需要根据I2C 总线设备名称获取设备句柄,进而才可以操作I2C 总线设备,查找设备函数如下所示, ...
使用RT-Thread Studio添加自定义的.c .h文件有多种方式,本文根据博主的实际测试,分别说明一下。 1.1 在现有文件夹下添加 直接在工程现有的文件夹下面右击,选择新建头文件或者源文件,如下图: 添加完成以后就可以直接编译了,上面我在 cubemx 文件夹下的Src 和 Inc 下分别添加了i2c.c和两个头文件,直接编译会关联...