0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

STM32L4 RT-Thread Studio解決lptimer不工作的問題

冬至子 ? 來源:張世爭 ? 作者:張世爭 ? 2023-06-07 14:29 ? 次閱讀

問題描述

看到部分同學已經(jīng)開始使用RT-Thread 的PM框架了,當然也反映了一些問題。

使用RT-Thread Studio 生成的基于STM32L4 的工程,發(fā)現(xiàn)開啟PM框架后,lptimer不能工作。

最明顯的現(xiàn)象是:進入深睡眠后,定時、延時事件不可以用。

這里對這個問題進行分析與提出解決方法

調(diào)試步驟:

一、基于Keil MDK pandora的工程,開啟PM后,LPTimer在深睡眠下工作正常。

二、基于RT-Thread Studio生成的工程,LPTimer確實不能工作。排除不是硬件問題。

三、對比工程代碼,LPTimer初始化,完全一致,pm_drv.c pm.c 等完全一致,依舊無法解決問題。

四、工程board.c 對比,發(fā)現(xiàn)時鐘配置一致。

以上步驟,未能確認問題的所在。

開始懷疑:

一、BSP 驅(qū)動包不一致,對比uart等,發(fā)現(xiàn)確實有點不同,但不是根本原因(與LPTimer無關)。

二、開啟調(diào)試,發(fā)現(xiàn)LPTimer中斷無法觸發(fā)。

三、查看時鐘寄存器,發(fā)現(xiàn)問題:LPTimer的時鐘,未使能。

四、回顧發(fā)現(xiàn),RT-Thread Studio生成的工程,不提供STM32 底層驅(qū)動初始化文件。

stm32l4xx_hal_msp.c,這個是板級的時鐘外設初始化文件,里面有一條開啟LPTimer時鐘的操作,初始LPTimer時,會打開LPTimer時鐘,而工程drv_lptimer.c里,就沒再打開LPTimer時鐘。

1.jpg

/**

@brief LPTIM MSP Initialization

This function configures the hardware resources used in this example

@param hlptim: LPTIM handle pointer

@retval None

*/

void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef* hlptim)

{

if(hlptim->Instance==LPTIM1)

{

/* USER CODE BEGIN LPTIM1_MspInit 0 */

/* USER CODE END LPTIM1_MspInit 0 */

/* Peripheral clock enable */

__HAL_RCC_LPTIM1_CLK_ENABLE();

/* USER CODE BEGIN LPTIM1_MspInit 1 */

/* USER CODE END LPTIM1_MspInit 1 */

}

}

解決方法:初始化LPTimer時,不要忘記打開LPTimer時鐘。

1.jpg

問題得到解決

總結(jié):

基于RT-Thread Studio生成的工程,默認【不包含】板級初始化文件:stm32l4xx_hal_msp.c,這個用戶要根據(jù)自己的硬件板,自己實現(xiàn)。

使用時,可以通過:STM32CubeMX 生成,或手動根據(jù)自己的外設,處理好外設、時鐘、引腳等初始化工作。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • UART接口
    +關注

    關注

    0

    文章

    124

    瀏覽量

    15315
  • RT-Thread
    +關注

    關注

    31

    文章

    1293

    瀏覽量

    40225
  • 時鐘寄存器
    +關注

    關注

    0

    文章

    2

    瀏覽量

    4966
  • STM32L4
    +關注

    關注

    1

    文章

    42

    瀏覽量

    9418
  • stm32cubemx
    +關注

    關注

    5

    文章

    283

    瀏覽量

    14833
收藏 人收藏

    評論

    相關推薦

    STM32L051上使用RT-Thread (一、新建項目)

    學完了 RT-Thread 內(nèi)核基礎,來使用 RT-Thread 實現(xiàn)一個小應用。 硬件平臺:STM32L051C8 TCM310(Enocean無線芯片) 軟件平臺:RT-Thread
    的頭像 發(fā)表于 06-25 20:45 ?6235次閱讀
    <b class='flag-5'>STM32L</b>051上使用<b class='flag-5'>RT-Thread</b> (一、新建項目)

    如何使用RT-Thread studio開發(fā)STM32應用

    1.摘要本篇筆記主要介紹,在RT-Thread環(huán)境下,如何使用RT-Thread studio開發(fā) STM32應用,以STM32H43為例介
    發(fā)表于 08-13 07:00

    使用RT-Thread Studio開發(fā)各個外設的驅(qū)動的操作方法

    STM32CubeMX,生成板級的外設引腳初始化文件xx_hal_msp.c。STM32F1 系列:stm32f1xx_hal_msp.c STM32L4系列:
    發(fā)表于 03-21 10:44

    STM32L4 RT-Thread Studio-解決lptimer工作的方法分享

    問題描述看到部分同學已經(jīng)開始使用RT-Thread 的PM框架了,當然也反映了一些問題。使用RT-Thread Studio 生成的基于STM32L4 的工程,發(fā)現(xiàn)開啟PM框架后,
    發(fā)表于 08-17 14:38

    基于RT-Thread StudioSTM32L4開發(fā)板支持包設計方案分享

    1、基于RT-Thread Studio設計用戶的STM32L4開發(fā)板支持包  sdk-bsp-stm32l476-lsd4rf-test2002 是 ART-Pi LoRa開發(fā)套件—
    發(fā)表于 09-27 15:09

    基于STM32F4RT-Thread通用BootLoader使用經(jīng)驗

    基于STM32F4、RT-Thread通用BootLoader使用經(jīng)驗
    的頭像 發(fā)表于 02-27 17:23 ?6325次閱讀
    基于<b class='flag-5'>STM32F4</b>和<b class='flag-5'>RT-Thread</b>通用BootLoader使用經(jīng)驗

    RT-Thread Studio 主要亮點功能

    RT-Thread Studio V1.1.0 快速上手體驗 RT-Thread Studio 主要包括工程創(chuàng)建和管理,代碼編輯,SDK管理器,RT
    的頭像 發(fā)表于 06-19 11:45 ?5915次閱讀

    RT-Thread STM32 配置系統(tǒng)時鐘(使用外部晶振)

    RT-Thread STM32 配置系統(tǒng)時鐘開發(fā)環(huán)境芯片:STM32F103RCT6RT-Thread Studio: V1.0.6(現(xiàn)在已經(jīng)更新到1.1.3,由于本人使用RTT開發(fā)已
    發(fā)表于 12-14 18:45 ?14次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>STM32</b> 配置系統(tǒng)時鐘(使用外部晶振)

    RT-Thread Studio驅(qū)動SD卡

    總結(jié)前言硬件平臺:RT-Thread ART-Pi STM32H750XBH6開發(fā)板 H750開發(fā)板開發(fā)軟件:RT-Thread Studio參考博客:
    發(fā)表于 12-27 19:13 ?20次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>驅(qū)動SD卡

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南
    發(fā)表于 02-22 18:23 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 潘多拉 <b class='flag-5'>STM32L</b>475 上手指南

    基于RT-Thread Studio學習

    前期準備:從官網(wǎng)下載 RT-Thread Studio,弄個賬號登陸,開啟rt-thread學習之旅。
    的頭像 發(fā)表于 05-15 11:00 ?3999次閱讀
    基于<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>學習

    試用RT-Thread Studio(VSCode)

    想嘗試RT-Thread studio (VSCode),先下載安裝VSCode,再搜索RT-Thread
    的頭像 發(fā)表于 10-12 10:58 ?1130次閱讀
    試用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>(VSCode)

    RT-Thread移植使用webserver (lwip+httpd)

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2,rt-thread
    的頭像 發(fā)表于 10-12 12:49 ?1367次閱讀
    <b class='flag-5'>RT-Thread</b>移植使用webserver (lwip+httpd)

    RT-Thread使用Soft RTC(軟件模擬RTC)

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,rt-thread 使用版本為4.0.3,stm32f
    的頭像 發(fā)表于 10-12 17:39 ?732次閱讀
    <b class='flag-5'>RT-Thread</b>使用Soft RTC(軟件模擬RTC)

    rt-thread studio新建stm32f407工程

    rt-thread studio新建stm32f407工程,使用的版本是:2.2.6,stm32f4的支持包版本為0.2.2。先不用0.2.3,因為使用0.2.3建立的模板編譯會報錯。
    的頭像 發(fā)表于 10-12 17:42 ?1376次閱讀