一般情况下 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) { /...
RT-Thread I2C 设备接口使用的从机地址均为不包含读写位的地址,读写位控制需修改标志 flags。 标志flags 可取值为以下宏定义,根据需要可以与其他宏使用位运算 “|” 组合起来使用。 1#define RT_I2C_WR 0x0000 /* 写标志 */ 2#define RT_I2C_RD (1u << 0) /* 读标志 */ 3#define RT_I2C_ADDR_1...
*/#defineBSP_USING_I2C1#ifdefBSP_USING_I2C1#defineBSP_I2C1_SCL_PIN GET_PIN(B, 10)#defineBSP_I2C1_SDA_PIN GET_PIN(B, 11)#endif 3. 代码 使用i2c读取BMP280温湿度计。使用rt_i2c_transfer来读取和写入数据到传感器芯片。这里的温湿度驱动是我自己实现的。 #include<rtthread.h>#include<rtdevice...
1. 介绍2. 添加I2C设备 2.1. 打开I2C设备驱动框架 双击左侧RT-Thread Setting文件,即可打开RT-Thread图形化配置工具,软件模拟I2C这一项是灰色的,表示没有打开,单击一下即可打开软件 I2C 的驱动框架,图标变为彩色表示打开: 右击该选项可以打开更多配置,比如查看该驱动设备的依赖、查看该驱动设备的详细配置,查看该驱动...
使用RT-Thread Studio添加自定义的.c .h文件有多种方式,本文根据博主的实际测试,分别说明一下。 1.1 在现有文件夹下添加 直接在工程现有的文件夹下面右击,选择新建头文件或者源文件,如下图: 添加完成以后就可以直接编译了,上面我在 cubemx 文件夹下的Src 和 Inc 下分别添加了i2c.c和两个头文件,直接编译会关联...
也就是说,P8.0和P8.1可以设置为硬件I2C功能。 三、软件I2C驱动OLED 接下来,将使用RT-Thread Studio创建项目,并通过添加软件包和修改配置的方式,实现使用软件I2C驱动OLED屏幕。 3.1 创建RT-Thread项目 在RT-Thread Studio中,打开“文件”→“新建”→”RT-Thread项目”菜单,如下图所示: ...
1 RT-Thread 的I2C简介 I2C(Inter Integrated Circuit)总线是 PHILIPS 公司开发的一种半双工、双向二...
if (pca9535pw_init(I2C_BUS_NAME) != RT_EOK){ return 0;} rt_thread_delay(1000);while(pca...
硬声是电子发烧友旗下广受电子工程师喜爱的短视频平台,推荐瑞萨RA6M4&RT-Thread--智慧门禁系统 - 2-2、AHT10使用及I2C协议视频给您,在硬声你可以学习知识技能、随时展示自己的作品和产品、分享自己的经验或方案、与同行畅快交流,无论你是学生、工程师、原厂、方案商、代