2025年时钟代码怎么写(时钟配置代码)

时钟代码怎么写(时钟配置代码)本篇详细的记录了如何使用 STM32CubeMX 配置 STM32L431RCT 的硬件 I2C 外设 读取 SHT30 温湿度传感器的数据并通过串口发送 1 准备工作 SHT30 的原理图如下 Keil MDK 和串口助手 Serial Port Utility 的安装包都可以在文末关注公众号获取 回复关键字获取相应的安装包 2 生成 MDK 工程 打开 STM32CubeMX 打开 MCU 选择器

大家好,我是讯享网,很高兴认识大家。



本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设,读取SHT30温湿度传感器的数据并通过串口发送。

1. 准备工作

SHT30的原理图如下:

Keil MDK和串口助手Serial Port Utility 的安装包都可以在文末关注公众号获取,回复关键字获取相应的安装包:

2.生成MDK工程

打开STM32CubeMX,打开MCU选择器:

搜索并选中芯片:

这里我都使用外部时钟:

小熊派开发板板载ST-Link并且虚拟了一个串口,原理图如下:

这里我将开关拨到模式,使PC的串口与USART1之间连接。

接下来开始配置:

查看小熊派E53接口的原理图:


讯享网

接下来开始配置I2C接口1:

STM32L4的最高主频到80M,所以配置PLL,最后使即可:

最后设置生成独立的初始化文件:

点击即可生成MDK-V5工程:

3. 在MDK中编写、编译、下载用户代码

参考:。

4. 编写SHT30驱动程序

参考『SHT30 datasheet.pdf』进行编程。

先来编写头文件,SHT30的器件地址由端口的高低电平决定:

注意数据手册中给出了8位数据,只有低7位用作地址,结合原理图,可以定义如下:

参考数据手册,在头文件中给出如下枚举定义:

从SHT30数据手册中可以得到在周期测量模式下读取一次数据的时序,如图:

根据该时序可以看出,首先要发送读数据的命令,然后接收6个字节的数据,编写程序如下:

在数据手册中可知,SHT30分别在温度数据和湿度数据之后发送了8-CRC校验码,确保了数据可靠性。

关于CRC校验请参考我的另一篇博客:如何通俗的理解CRC校验并用C语言实现(公众号没有发表所以不能放超链接,如果有兴趣,可以访问我的博客www.mculover666.cn查看)。

CRC-8校验程序如下:

计算温度值和湿度值的公式在数据手册中已给出,如图:

接下来编写解析数据的函数:

5. 测试SHT30驱动程序

在main函数中对该驱动进行测试,在中添加如下代码:

测试结果如图:

至此,我们已经学会如何使用硬件IIC接口读取温湿度传感器数据并使用软件CRC校验(SHT30),下一节将讲述如何使用硬件CRC校验SHT30的数据。

小讯
上一篇 2025-05-24 19:19
下一篇 2025-05-28 14:04

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/150788.html