使用RT-Thread Studio DIY 迷你桌面时钟二---获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)--基于stm32f103rct6

友情提示:兄弟们觉得有用就点赞收藏啊,不然的话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使用RT-Thread Studio DIY 迷你桌面时钟二---获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)--基于stm32f103rct6_第1张图片

注意新版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
使用RT-Thread Studio DIY 迷你桌面时钟二---获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)--基于stm32f103rct6_第2张图片

添加完成之后点击编译,下载到开发板中运行,即可在串口终端中看到日志信息(绿色),提示I2C总线设备已注册成功:

使用RT-Thread Studio DIY 迷你桌面时钟二---获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)--基于stm32f103rct6_第3张图片

 然后我的I2C1挂载的是sht30这个包所以我的SCL--PB10,SDA--PB11也是在board.h里更改引脚

你可能感兴趣的:(c语言)