当前位置:网站首页 > 编程语言 > 正文

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



本篇详细的记录了如何使用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-10-16 10:27:04
  • webflux是什么(webflux flux)2025-10-16 10:27:04
  • yolov3作者为什么退出(yolo下载了为什么进不去)2025-10-16 10:27:04
  • pll是什么意思中文翻译(plp什么意思中文翻译)2025-10-16 10:27:04
  • 跨域解决方案的原理(跨域解决方案的原理包括)2025-10-16 10:27:04
  • 网站制作代码模板(网站制作代码模板)2025-10-16 10:27:04
  • 苹果电脑装双系统开机怎么切换输入法(苹果电脑装了双系统怎么切换系统)2025-10-16 10:27:04
  • mha是什么意思网络用语(msha是什么意思)2025-10-16 10:27:04
  • latex编辑器有哪些(latex编辑文档的优缺点)2025-10-16 10:27:04
  • 域名解析ip138在线查询(域名解析ip在线查询反查)2025-10-16 10:27:04
  • 全屏图片