【NUCLEO-WBA52CG STM32无线产品家族新系列】+2、硬件i2c驱动温湿度传感器SHT40
[复制链接]
本帖最后由 dql2016 于 2023-7-30 22:04 编辑
手头有一个Grove SHT40传感器模块,如下图所示,正好利用它学习一下STM32WBA52CG 硬件I2C的用法。
SHT40是精度高达±1.8% / max. ±3.5% RH的数字温湿度传感器,主要参数如下:
湿度 |
典型的相对湿度精度 |
1.8 |
%RH |
|
操作相对湿度范围 |
0 - 100 |
%RH |
|
响应时间 (τ63%) |
4 |
s |
|
校准证书 |
工厂校准 |
|
|
温度 |
典型温度精度 |
0.2 |
°C |
|
工作温度范围 |
-40 - 125 |
°C |
|
响应时间 (τ63%) |
2 |
s |
|
普通的 |
电源电压 |
1.08 - 3.6 |
V |
|
平均供应电流 |
0.4 |
uA |
|
接口 |
I²C |
|
|
尺寸 (长x宽x高) |
1.5 x 1.5 x 0.5 |
mm³ |
|
包装尺寸 |
2500, 10000 |
pcs (T&R) |
|
官方资料
https://sensirion.com/cn/products/product-catalog/SHT40/
官方提供了驱动参考下载
首先使用Stm32cubemx基于开发板创建工程,基于开发板创建的好处是板载外设如LED、按键等都帮你初始化配置好了:
打开串口配置,方便打印日志:
开启硬件I2C,参数设置十分简单,直接使用默认的即可:
配置好后生成工程即可。
接下来对照下原理图,确定I2C1引脚的位置:
连接好线路:
将在盛思锐官方下载的驱动包解压,然后将对应文件复制到stm32的工程目录:
参考驱动复制过来替换:
keil里面新建分组,加入这些文件:
将驱动抽象层中的初始化去掉,因为stm32cubemx已经生成了i2c的驱动:
主函数调用测试代码:
串口驱动里面加入printf打印支持:
最终效果:
附上源码包:
|