0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用STM32L4探索套件中提供的传感器进行测量

麦辣鸡腿堡 来源:意法半导体 作者:意法半导体 2023-01-30 15:27 次阅读

目标描述

教程的目的是解释如何使用 STM32L4 探索套件中提供的传感器进行测量。逐步描述温度传感器的配置。

完成本教程后,您将能够使用 B-L475E-IOT01A 板上可用的传感器收集值。

本教程的附录提供了有关如何将 AC6 示例移植到 STM32CubeIDE 的指南。

先决条件

你已经通过:

Step1:工具安装和首次测试

Step3:串口及新板介绍

硬件

STM32L4 探索套件物联网节点[1] (B-L475E-IOT01A)

USB 数据线 Type-A 转 Micro-B

文学

用于物联网节点的UM2153 探索套件,与 STM32L4 的多通道通信

UM1884 STM32L4/L4+ HAL及底层驱动说明

UM1859开始使用 STM32Cube 的 X-CUBE-MEMS1 运动 MEMS 和环境传感器软件扩展

UM2579从 System Workbench 到 STM32CubeIDE 的迁移指南

STM32L4 探索套件物联网节点入门

内容↑

[隐藏]

1个B-L475E-IOT01A 的传感器使用

1.1硬件说明

1.2示例:使用 HTS221 传感器获取温度值并将其显示在终端上

1.2.1使用 STM32CubeMX 创建工作项目

1.2.2将 BSP 驱动程序复制到您的项目

1.2.3支持 STM32CubeIDE 工作区中的 BSP

1.2.4更新包含路径

1.2.5更新源文件

1.2.6编译并运行示例

2个附录:将一个AC6示例移植到STM32CubeIDE

2.1硬件说明

2.2示例:使用 HTS221 传感器获取温度值并显示在终端上(从 AC6 移植到 STM32CubeIDE)

2.2.1硬件设置

2.2.2示例详细信息

2.2.3将示例移植到STM32CubeIDE

2.2.4编译并运行示例

3个参考

1传感器与 B-L475E-IOT01A 的使用↑

1.1硬件说明↑

STM32L4 探索套件物联网节点 (B-L475E-IOT01A) 中可用的主要传感器有:

用于相对湿度和温度的电容式数字传感器 (HTS221)

260-1260 hPa 绝对数字输出气压计 (LPS22HB)

3D 加速度计和 3D 陀螺仪 (LSM6DSL)

高性能 3 轴磁力计 (LIS3MDL)。

400px-IoTNode_Board_Sensor.png

1.2示例:使用HTS221传感器获取温度值并显示在终端上↑

本节的目的是逐步说明如何与 HTS221 传感器连接以获取温度值并将其显示在终端上。

1.2.1使用STM32CubeMX创建工作项目↑

起点是标题为B-L475E-IOT01A 上的 UART I/F 简介的第 3 步教程中描述的使用 STM32CubeMX 生成的项目。

按照此处描述的步骤操作并调用生成的项目 L4_IOT_Sensors。

1.2.2复制BSP驱动到你的项目中↑

BSP(板级支持包)驱动程序在STM32CubeL4包中提供。这提供了与电路板的硬件组件相对应的 API。STM32CubeL4 软件包的最新版本默认下载到 STM32CubeMX 存储库 ( C:Usersuser_nameSTM32CubeRepositorySTM32Cube_FW_L4_Vx.xx.x )。

BSP在树中的位置和内容:

150px-Folder_tree.png

25px-Info_white.png

信息

STM32CubeL4 使用的版本是 1.11.0,但它会随着时间的推移而增加。

以下是将 BSP 驱动程序复制到您的项目中的步骤:

复制STM32CubeL4/Drivers/BSP/B-L475E-IOT01文件夹

在生成的项目中,创建一个文件夹L4_IOT_Sensors/Drivers/BSP。将复制的文件夹粘贴到那里。

复制STM32CubeL4/Drivers/BSP/Components文件夹。将其粘贴到L4_IOT_Sensors/Drivers/BSP/Components下。

可选清理工作目录:由于仅使用 HTS221 温度传感器,可能会删除已复制到工作目录的其他一些文件和文件夹

在 L4_IOT_SensorsDriversBSPB-L475E-IOT01 下,仅保留以下文件:

在L4_IOT_SensorsDriversBSPComponents下,仅保留以下文件夹:

1.2.3 STM32CubeIDE工作区支持BSP ↑

复制完成后,添加的文件夹会自动出现在STM32CubeIDE工作区中:

150px-Folder_tree_4.png

1.2.4更新包含路径↑

更新路径以支持新的头文件:

从Project Explorer透视图中选择相关项目:

300px-Project_select.png

从“项目”菜单或“文件”菜单,转到“属性”》“C/C++ 构建”》“设置”》“工具设置”》“MCU GCC 编译器”》“包含路径”

单击以包含新路径

添加。./Drivers/BSP/B-L475E-IOT01和。./Drivers/BSP/Components/hts221路径

以下屏幕截图总结了要遵循的步骤:

450px-Project_setting.png

1.2.5更新源文件↑

唯一要修改的文件是main.c,如下所示:

包含头文件:stm32l475e_iot01.h、stm32l475e_iot01_tsensor.h和math.h

/* 用户代码开始包括 */ 《 br 》 #include “stm32l475e_iot01.h” #include “stm32l475e_iot01_tsensor.h” #include 《数学.h》 /* 用户代码结束包括 */

添加私有值以用于温度值和终端上显示的消息:

/* USER CODE BEGIN PV */ /* 私有变量 -------------------------------------- --------------*/ float temp_value = 0 ; // 测量温度值 char str_tmp [ 100 ] = “” ; // 显示温度值的格式化消息 uint8_t msg1 [] = “****** Temperature values measurement ****** nnr ” ; uint8_t msg2 [] = “=====》 初始化温度传感器 HTS221 rn ” ; uint8_t msg3 [] = “=====》 温度传感器 HTS221 已初始化rn ” ; /* 用户代码结束 PV */

在终端上显示消息并初始化 HTS221 温度传感器:

/* 用户代码开始 2 */ HAL_UART_Transmit ( & huart1 , msg1 , sizeof ( msg1 ), 1000 ); HAL_UART_Transmit ( & huart1 , msg2 , sizeof ( msg2 ), 1000 ); BSP_TSENSOR_Init (); HAL_UART_Transmit ( & huart1 , msg3 , sizeof ( msg3 ), 1000 ); /* 用户代码结束 2 */ /

在while(1)循环中,读取温度值,格式化,然后在终端显示带有测量值的信息:

/* 用户代码开始 3 */ temp_value = BSP_TSENSOR_ReadTemp (); int tmpInt1 = temp_value ; float tmpFrac = temp_value - tmpInt1 ; int tmpInt2 = trunc ( tmpFrac * 100 ); snprintf ( str_tmp , 100 , “ TEMPERATURE = %d.%02d nr ” , tmpInt1 , tmpInt2 ); HAL_UART_Transmit ( & huart1 ,( uint8_t * ) str_tmp , sizeof ( str_tmp ), 1000 ); HAL_延迟(1000 ); /* 用户代码结束 3 */

25px-Info_white.png

信息

注意在正确的用户代码部分进行更新,以避免使用新的 STM32CubeMX 代码生成覆盖它们。

1.2.6编译运行示例↑

点击Build按钮编译项目

点击调试按钮运行软件

打开控制台模拟器,例如 TeraTerm [2]。要配置控制台波特率,请选择数据位:8 并单击确定。您的 PC 上的端口名称可能不同

STM32CubeIDE 打开调试透视图。点击Resume按钮执行代码

TeraTerm [2]在测得的温度值之前显示初始化消息:

300px-TeraTerm_Temp.png

现在您可以:

构建您自己的项目以使用嵌入在 B-L475E-IOT01A 上的传感器测量温度值

将 BSP 组件添加到 STM32CubeMx 生成的项目中

将该板的用途扩展到 HTS221 以外的传感器,以进行环境测量。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2548

    文章

    50646

    浏览量

    751768
  • STM32
    +关注

    关注

    2265

    文章

    10870

    浏览量

    354713
  • 测量
    +关注

    关注

    10

    文章

    4766

    浏览量

    111117
收藏 人收藏

    评论

    相关推荐

    STM32L4和电容传感器无法通信的原因?

    我在 CY8CMBR3110 电容式传感器上工作,我尝试在 stm32CubeIDE 中编写代码,但是 STM32L4 和电容传感器无法通信。 我想,我在代码中做错了什么。 在
    发表于 01-25 06:05

    STM32L476 Nucleo试用申请】研究STM32L4的低功耗表现

    项目名称:研究STM32L4的低功耗表现试用计划:个人感觉STM32L4以后会是一款很热门低功耗芯片,l4在低功耗同时兼有比较强的性能,正想借此机会学习STM32L4
    发表于 09-11 15:36

    [实战经验]ST与阿里云合作,推出了基于STM32L4 IoT探索套件开发AliOS Things的方案。

    等到串口连接后再让程序继续运行。串口配置串口配置,配置WIFI等内容欢迎阅读原文。全文请至STM32中文官网下载:基于STM32L4 IoT探索套件开发AliOS Things
    发表于 05-09 14:51

    LSM9DS1传感器STM32L4控制怎么配合使用

    我们计划将9DoF传感器LSM9DS1与STM32L4控制配合使用。我们试图在网上找到传感器库,但却找不到一个,你能为我们提供支持的库,包
    发表于 02-21 10:03

    大联大旗下友尚推出意法半导体最新的STM32L4物联网探索套件

    大联大旗下友尚推出意法半导体(ST)最新的STM32L4物联网探索套件(B-L475E-IOT01A),为开发人员开发物联网节点带来业内最高的灵活性。该开发
    发表于 06-01 16:12 1481次阅读

    AN4726_适用于STM32L4STM32L4plus系列的STM32Cube固件例程

    AN4726_适用于STM32L4STM32L4plus系列的STM32Cube固件例程
    发表于 11-21 17:06 9次下载
    AN4726_适用于<b class='flag-5'>STM32L4</b>和<b class='flag-5'>STM32L4</b>plus系列的<b class='flag-5'>STM32</b>Cube固件例程

    AN4612_STM32L1与STM32L4STM32L4plus微控制之间的移植

    AN4612_STM32L1与STM32L4STM32L4plus微控制之间的移植
    发表于 11-21 17:06 2次下载
    AN4612_<b class='flag-5'>STM32L</b>1与<b class='flag-5'>STM32L4</b>和<b class='flag-5'>STM32L4</b>plus微控制<b class='flag-5'>器</b>之间的移植

    物联网节点探索套件,与STM32L4+系列进行多通道通信

    物联网节点探索套件,与STM32L4+系列进行多通道通信
    发表于 11-22 08:21 0次下载
    物联网节点<b class='flag-5'>探索</b><b class='flag-5'>套件</b>,与<b class='flag-5'>STM32L4</b>+系列<b class='flag-5'>进行</b>多通道通信

    UM2743_基于STM32L4系列的LTE Cat M或NBIoT开发套件用户手册

    UM2743_基于STM32L4系列的LTE Cat M或NBIoT开发套件用户手册
    发表于 11-22 08:21 0次下载
    UM2743_基于<b class='flag-5'>STM32L4</b>系列的LTE Cat M或NBIoT开发<b class='flag-5'>套件</b>用户手册

    UM2708_与STM32L4 plus系列进行多通道通信IoT的探索套件用户手册

    UM2708_与STM32L4 plus系列进行多通道通信IoT的探索套件用户手册
    发表于 11-22 08:22 0次下载
    UM2708_与<b class='flag-5'>STM32L4</b> plus系列<b class='flag-5'>进行</b>多通道通信IoT的<b class='flag-5'>探索</b><b class='flag-5'>套件</b>用户手册

    UM2153_基于STM32L4的多通道通讯IoT节点探索套件

    UM2153_基于STM32L4的多通道通讯IoT节点探索套件
    发表于 11-22 08:22 0次下载
    UM2153_基于<b class='flag-5'>STM32L4</b>的多通道通讯IoT节点<b class='flag-5'>探索</b><b class='flag-5'>套件</b>

    UM2145_STM32L496探索套件STM32CubeL4演示固件

    UM2145_STM32L496探索套件STM32CubeL4演示固件
    发表于 11-22 08:22 3次下载
    UM2145_<b class='flag-5'>STM32L</b>496<b class='flag-5'>探索</b><b class='flag-5'>套件</b><b class='flag-5'>STM32CubeL4</b>演示固件

    UM1860_基于STM32L4STM32L4+ 系列的STM32CubeL4软件库使用入门

    UM1860_基于STM32L4STM32L4+ 系列的STM32CubeL4软件库使用入门
    发表于 11-22 19:13 5次下载
    UM1860_基于<b class='flag-5'>STM32L4</b> 和 <b class='flag-5'>STM32L4</b>+ 系列的<b class='flag-5'>STM32CubeL4</b>软件库使用入门

    使用 Wi-Fi 将 STM32L4 探索套件物联网节点与谷歌云平台集成

    使用 Wi-Fi 将 STM32L4 探索套件物联网节点与谷歌云平台集成
    的头像 发表于 01-03 09:45 697次阅读

    STM32L4定时(TIMER)介绍

    电子发烧友网站提供STM32L4定时(TIMER)介绍.pdf》资料免费下载
    发表于 08-01 14:24 0次下载
    <b class='flag-5'>STM32L4</b>定时<b class='flag-5'>器</b>(TIMER)介绍