【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块

本文详细介绍了如何解析STM32硬件模块中的STS30芯片,利用IIC接口进行驱动。首先展示了芯片原理图,并指导读者查阅数据手册。接着,讲解了配置环境的步骤,包括使用官方OLED HAL库,设置GPIO引脚模式。在编写代码部分,阐述了读取温度值的过程,特别提到了I2C通信的相关函数。最后,提到了实验现象和注意事项,并提供了技术支持途径。
摘要由CSDN通过智能技术生成

第一节 硬件解读

先来看看这个模块的原理图吧,

从图中可以看出,这个芯片是STS30,利用IIC来驱动的,具体的用法可以查看芯片的数据手册,这也是官方提供的,大家可以去赛点资源包查看。

下面来看看芯片的引脚关系:

扩展版之模数转换

开发板主板

1_ALE

PB0

1_SCL

PB6

1_SDA

PB7

第二节 环境配置

1,本次还是直接使用官方提供的OLED的HAL库的例程。

2,配置官方库的Debug。

3,取消勾选PC14和PC15.因为它们在本次实验中没有发挥作用。

4,由扩展模块的引脚图可以看出,本次PB6和PB7为数字温度传感器的IIC引脚,其中PB6已经勾选了,那我们只需要勾选PB7为输出模式就可以了。

5,其他的配置不再重复。

第三节 编写代码

1,新建变量,用于保存温度值。

2,进入while(1)之前,需要配置OLED,包括初始化,清屏等等如下图:

3,在while中不断读取温度值。

4,在读取温度的函数中,重要的是Get_Temperature函数。我们仔细看看:

5,有同学要问了,I2CStop2()这些函数我没有见过呀,大家先不急。在OLED的硬件IIC中也有这些函数,大家可以看看OLED的IIC相关函数。

6,具体点,以OLED的IIC的SDA_Input_Mode函数为例,如下图:

7,在来看看数字温度传感器的SDA_Input_Mode2函数,只是把引脚修改了。

8,对此,我们完全可以借鉴OLED的IIC的底层驱动,把它完全移植过来,移植后的代码如下:

9,如果大家不会移植,请大添加公众号客服,索取完整的历程。

10,编译代码,配置下载器,下载代码。

第四节 实验现象

实验注意事项:

1,程序语句需要位于程序的BEGIN与END之间。

2,利用USB线将电脑USB口与开发板USB1口连接。

3,CN4所有拨码开关必须选择ON DP档,否则无法下载程序。

实验现象:

LD1,LD4常亮。OLED第一行显示“Temperature”。OLED第二行显示当前温度的值。

宗旨:

免费的服务,永远的开源

说明:

1.本教程免费,开源,禁止用于任何商业用途,违者必究。

2.本教程版权所属为东莞市东城墨竹公子电子工作室,盗版必究。

3.资料下载请通过以下方式:

微信公众号:撞上电子

CSDN:撞上电子

掘金:撞上电子

今日头条:撞上电子

淘宝企业店:撞上电子

--东莞市东城墨竹公子电子工作室

--墨竹公子

--2021.12.17

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值