![59a4e6c9d3682f52a40b31603e71a461.png](https://i-blog.csdnimg.cn/blog_migrate/f394a794d4d6bff77846ad08c43e209e.png)
![bdf524bd2cb5d5b6000c571be73dac35.png](https://i-blog.csdnimg.cn/blog_migrate/ce0d89d19735fc4871aebcecfeaee92e.png)
寻求更好的阅读体验,请点击阅读原文移步:Mculover666的个人博客。
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设,读取SHT30温湿度传感器的数据并通过串口发送。
1. 准备工作
硬件准备
开发板
首先需要准备一个开发板,这里我准备的是STM32L4的开发板(BearPi):
![1a0e1cb2fd43949f759f380d49d46ffe.png](https://i-blog.csdnimg.cn/blog_migrate/5763aec7d3056b1684daf778a68e144c.jpeg)
SHT30温湿度传感器
SHT30温湿度传感器是一个完全校准的、现行的、带有温度补偿的数字输出型传感器,具有 2.4V-5.5V 的宽电压支持,使用IIC接口进行通信,最高速率可达1M并且有两个用户可选地址,除此之外,它还具有8个引脚的DFN超小封装,如图:
![607712a1c44a50157c24227e06e15272.png](https://i-blog.csdnimg.cn/blog_migrate/07d73cad04bc35851542d12b8f9b69ac.jpeg)
SHT30的原理图如下:
![c403802bfb70497352db19429e54e556.png](https://i-blog.csdnimg.cn/blog_migrate/c955c37558cb8e063bf8aebdd29cbf9b.png)
软件准备
需要安装好Keil - MDK及芯片对应的包,以便编译和下载生成的代码;
准备一个串口调试助手,这里我使用的是
Serial Port Utility
;
Keil MDK和串口助手Serial Port Utility 的安装包都可以在文末关注公众号获取,回复关键字获取相应的安装包:
2.生成MDK工程
选择芯片型号
打开STM32CubeMX,打开MCU选择器:
![fb4ff710e029b67a2ea30ccd981503d1.png](https://i-blog.csdnimg.cn/blog_migrate/99e6201d1474502226a8045992991f37.jpeg)
搜索并选中芯片STM32L431RCT6
:
![d4d04ba4582ff5eed63d5c73365f7dba.png](https://i-blog.csdnimg.cn/blog_migrate/73dc3d94f3f3c1f23b6b2297b4526d09.jpeg)
配置时钟源
如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC;
如果使用默认内部时钟(HSI),这一步可以略过;
这里我都使用外部时钟: