友情提示:兄弟们觉得有用就点赞收藏啊,不然的话CSDN的浏览记录不全,会找不到的。
老规矩先参考这篇官方文章
使用RT-Thread Studio DIY 迷你桌面时钟(二)| 获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)_Mculover666的博客-CSDN博客1. 项目进度桌面Mini时钟项目用来演示如何使用RT-Thread Stduio开发项目,整个项目的架构如下:在上一篇博文中简单的介绍了RT-Thread Studio一站式工具,基于STM32L431RCT6这个芯片创建工程,并修改时钟为使用外部时钟。使用RT-Thread Studio DIY 迷你桌面时钟(一)| 基于STM32芯片创建工程接下里我们开始添加I2C设备,添加S...https://blog.csdn.net/Mculover666/article/details/104153715
文章图片
注意新版studio的这个2.2部分直接就有的,不必再去手动添加
2.3这一部分文章有误需要按照我的添加
托马斯的韦德的------2.3注册 I2C 设备
软件 I2C 添加到工程中之后就可以调用软件 I2C 注册函数 rt_hw_i2c_init 来注册软件 I2C 设备了,该函数的原型如下:
int rt_hw_i2c_init(char *name, rt_uint8_t scl, rt_uint8_t sda)
1
name:设备名称
scl:软件模拟I2C的SCL引脚
sda:软件模拟I2C的SDA引脚
在stm32F103RCT6开发板上,温湿度传感器SHT30连接在PB6(SCL)和PB7(SDA) ,所以在main.c文件中先添加头文件和这一段代码
#include int register_i2c(void)
{
rt_hw_i2c_init();
return RT_EOK;
}
//注册到系统中,自动初始化设备
INIT_BOARD_EXPORT(register_i2c);
然后在drivers文件夹下找到board.h,需要手动添加95这一行才能开启I2C1,后边用oled需要送后动添加102这一行才能开启I2C2
文章图片
添加完成之后点击编译,下载到开发板中运行,即可在串口终端中看到日志信息(绿色),提示I2C总线设备已注册成功:
文章图片
然后我的I2C1挂载的是sht30这个包所以我的SCL--PB10,SDA--PB11也是在board.h里更改引脚
【使用RT-Thread Studio DIY 迷你桌面时钟二---获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)--基于stm32f103rct6】
推荐阅读
- c语言|栈和队列c语言实现详解
- 链表|数据结构—栈与队列的基本操作(c语言实现)
- C语言|初识C语言
- loongarch|龙芯(LoongArch)架构获取CPUID
- 数据结构|二叉树链式结构的实现及应用
- 数据结构与算法|详解线索二叉树
- <C语言;售货员问题
- 六种模式史上最强c语言俄罗斯方块
- 数据结构初阶|【C语言 - 数据结构】树、二叉树(下篇)