《電子技術應用》
您所在的位置:首頁 > 電子元件 > 業(yè)界動態(tài) > 教程:如何使用STM32L4探索套件中提供的傳感器進行測量

教程:如何使用STM32L4探索套件中提供的傳感器進行測量

2023-01-31
來源:意法半導體
關鍵詞: 測量 STM32 傳感器

  目標描述

  本教程的目的是解釋如何使用 STM32L4 探索套件中提供的傳感器進行測量。逐步描述溫度傳感器的配置。

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

  本教程的附錄提供了有關如何將 AC6 示例移植到 STM32CubeIDE 的指南。

  先決條件

  你已經通過:

  Step1:工具安裝和首次測試

  Step3:串口及新板介紹

  硬件

  STM32L4 探索套件物聯網節(jié)點[1] (B-L475E-IOT01A)

  USB 數據線 Type-A 轉 Micro-B

  文學

  用于物聯網節(jié)點的UM2153 探索套件,與 STM32L4 的多通道通信

  UM1884 STM32L4/L4+ HAL及底層驅動說明

  UM1859開始使用 STM32Cube 的 X-CUBE-MEMS1 運動 MEMS 和環(huán)境傳感器軟件擴展

  UM2579從 System Workbench 到 STM32CubeIDE 的遷移指南

  STM32L4 探索套件物聯網節(jié)點入門

  內容↑

  [隱藏]

  1個B-L475E-IOT01A 的傳感器使用

  1.1硬件說明

  1.2示例:使用 HTS221 傳感器獲取溫度值并將其顯示在終端上

  1.2.1使用 STM32CubeMX 創(chuàng)建工作項目

  1.2.2將 BSP 驅動程序復制到您的項目

  1.2.3支持 STM32CubeIDE 工作區(qū)中的 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 探索套件物聯網節(jié)點 (B-L475E-IOT01A) 中可用的主要傳感器有:

  用于相對濕度和溫度的電容式數字傳感器 (HTS221)

  260-1260 hPa 絕對數字輸出氣壓計 (LPS22HB)

  3D 加速度計和 3D 陀螺儀 (LSM6DSL)

  高性能 3 軸磁力計 (LIS3MDL)。

135.JPG

  1.2示例:使用HTS221傳感器獲取溫度值并顯示在終端上↑

  本節(jié)的目的是逐步說明如何與 HTS221 傳感器連接以獲取溫度值并將其顯示在終端上。

  1.2.1使用STM32CubeMX創(chuàng)建工作項目↑

  起點是標題為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在樹中的位置和內容:

134.JPG

  信息

  STM32CubeL4 使用的版本是 1.11.0,但它會隨著時間的推移而增加。

  以下是將 BSP 驅動程序復制到您的項目中的步驟:

  復制STM32CubeL4/Drivers/BSP/B-L475E-IOT01文件夾

  在生成的項目中,創(chuàng)建一個文件夾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工作區(qū)支持BSP ↑

  復制完成后,添加的文件夾會自動出現在STM32CubeIDE工作區(qū)中:

133.JPG

  1.2.4更新包含路徑↑

  更新路徑以支持新的頭文件:

  從Project Explorer透視圖中選擇相關項目:

132.JPG

  從“項目”菜單或“文件”菜單,轉到“屬性”》“C/C++ 構建”》“設置”》“工具設置”》“MCU GCC 編譯器”》“包含路徑”

  單擊以包含新路徑

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

  以下屏幕截圖總結了要遵循的步驟:

131.JPG

  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)循環(huán)中,讀取溫度值,格式化,然后在終端顯示帶有測量值的信息:

  /* 用戶代碼開始 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按鈕執(zhí)行代碼

  TeraTerm [2]在測得的溫度值之前顯示初始化消息:

130.JPG

  現在您可以:

  構建您自己的項目以使用嵌入在 B-L475E-IOT01A 上的傳感器測量溫度值

  將 BSP 組件添加到 STM32CubeMx 生成的項目中

  將該板的用途擴展到 HTS221 以外的傳感器,以進行環(huán)境測量。



更多信息可以來這里獲取==>>電子技術應用-AET<<

mmexport1621241704608.jpg

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。