日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年07月10日(星期四)

正在發(fā)生

2019年07月10日 | STM32開發(fā)筆記46:STM32F0低功耗設(shè)計(jì)

發(fā)布者:mu22 來源: eefocus關(guān)鍵字:STM32  STM32F0  低功耗設(shè)計(jì) 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

項(xiàng)目中需要使單片機(jī)STM32F070F6P6進(jìn)入低功耗模式,本文記錄整個(gè)過程。


1、STM32F070的低功耗模式:



2、低功耗模式描述,在項(xiàng)目中希望外部中斷予以喚醒,所以三種低功耗模式,都可以使用。



3、進(jìn)入Stop模式的代碼如下,實(shí)際測(cè)得進(jìn)入Stop模式后,8.0uA。在這里需要注意的是,我選用的單片機(jī)STM32F070F6P6,僅有端口A、端口B和端口F。我使用參考例程,沒有注意里面的具體寫法,增加了端口C和端口D,則一直進(jìn)入不了Stop模式,網(wǎng)上說需要停止SysTick,這些都是不正確的。只有進(jìn)入Sleep模式,才需停止SysTick,在Stop模式中,不需事先關(guān)閉SysTick。程序開始將所有的引腳都設(shè)置為GPIO_MODE_ANALOG模式,以節(jié)省功耗;后續(xù)關(guān)閉GPIO時(shí)鐘,進(jìn)一步節(jié)省功耗;然后調(diào)用SetStopModeAwakenPinCallback回調(diào)函數(shù),設(shè)置外部中斷引腳,由于在設(shè)置外部中斷引腳時(shí),需打開相應(yīng)的GPIO時(shí)鐘,在這里為了程序的書寫方便,沒有關(guān)閉GPIO時(shí)鐘,測(cè)試只差0.1uA。


void CTarget::EnterStopMode(void)

{

    GPIO_InitTypeDef GPIO_InitStruct;

    __HAL_RCC_GPIOA_CLK_ENABLE();

    __HAL_RCC_GPIOB_CLK_ENABLE();

    __HAL_RCC_GPIOF_CLK_ENABLE();

 

    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;

    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;

    GPIO_InitStruct.Pull = GPIO_NOPULL;

    GPIO_InitStruct.Pin = GPIO_PIN_All;

    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

    HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);

 

//  __HAL_RCC_GPIOA_CLK_DISABLE();

//  __HAL_RCC_GPIOB_CLK_DISABLE();

//  __HAL_RCC_GPIOF_CLK_DISABLE();

    SetStopModeAwakenPinCallback();

 

    HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);

}

4、SetStopModeAwakenPinCallback的定義如下,可以看到只是一個(gè)空函數(shù),實(shí)際結(jié)果在main.cpp完成。


__weak void SetStopModeAwakenPinCallback(void)

{

}

5、下面是在main.cpp中的SetStopModeAwakenPinCallback函數(shù),其功能是將相應(yīng)的IO引腳設(shè)置為外部中斷引腳,傳遞的具體參數(shù),我們參看STM32CubeMX生成的例程就可以了。


void SetStopModeAwakenPinCallback(void)

{

Target.HAL.LC.SetExternalInterrupt(EXTI0_1_IRQn);

}

6、為了使外部中斷生效,還需設(shè)置相應(yīng)的中斷處理函數(shù),在stm32f0xx_it.h中加入中斷服務(wù)處理函數(shù)


#ifndef __STM32F0xx_IT_H

#define __STM32F0xx_IT_H

 

#ifdef __cplusplus

 extern "C" {

#endif 

 

/* Includes ------------------------------------------------------------------*/

#include "stm32f0xx_hal.h"

#include "main.h"

/* Exported types ------------------------------------------------------------*/

/* Exported constants --------------------------------------------------------*/

/* Exported macro ------------------------------------------------------------*/

/* Exported functions ------------------------------------------------------- */

 

void NMI_Handler(void);

void HardFault_Handler(void);

void SVC_Handler(void);

void PendSV_Handler(void);

void SysTick_Handler(void);

void TIM16_IRQHandler(void);

void USART1_IRQHandler(void);

void USART2_IRQHandler(void);

void TIM1_BRK_UP_TRG_COM_IRQHandler(void);

void EXTI0_1_IRQHandler(void);

 

#ifdef __cplusplus

}

#endif

 

#endif /* __STM32F0xx_IT_H */

 

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

7、在main.cpp中,完成中斷服務(wù)處理函數(shù)的實(shí)現(xiàn)。


void EXTI0_1_IRQHandler(void)

{

  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);

}

8、上述設(shè)置完成后,就可以在main函數(shù)中進(jìn)行測(cè)試了,代碼如下,程序很簡(jiǎn)單,上電后L2閃10次,然后L1閃10次,接著進(jìn)入Stop模式,當(dāng)外部喚醒后,程序復(fù)位。


for (i = 0; i < 10; i++)

{

    Target.HAL.L2.Turn();

    Target.Delayms(500, FALSE);

}

for (i = 0; i < 10; i++)

{

    Target.HAL.L1.Turn();

    Target.Delayms(500, FALSE);

}

Target.EnterStopMode();

 

Target.Restart();



關(guān)鍵字:STM32  STM32F0  低功耗設(shè)計(jì) 引用地址:STM32開發(fā)筆記46:STM32F0低功耗設(shè)計(jì)

上一篇:STM32MX電源管理低功耗模式
下一篇:STM32F4 內(nèi)部flash驅(qū)動(dòng)(寄存器操作)

推薦閱讀

隨著科學(xué)技術(shù)的發(fā)展,國家重點(diǎn)實(shí)驗(yàn)室的資源共享成為人們關(guān)注的話題。資源共享不僅可以促進(jìn)國家科技水平的進(jìn)步,促進(jìn)研發(fā)科研項(xiàng)目的順利進(jìn)行,也可以節(jié)約成本和經(jīng)費(fèi),帶來更好的經(jīng)濟(jì)效益。 在衛(wèi)星與網(wǎng)絡(luò)發(fā)表的《五部門聯(lián)合發(fā)文:國家重點(diǎn)實(shí)驗(yàn)室與國防科技重點(diǎn)實(shí)驗(yàn)室應(yīng)開放共享!》文章中提到:“國家重點(diǎn)實(shí)驗(yàn)室是為解決經(jīng)濟(jì)社會(huì)發(fā)展和國家安全重大科技問題...
無論是傳統(tǒng)互聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)還是產(chǎn)業(yè)互聯(lián)網(wǎng),都離不開運(yùn)維。運(yùn)維是否可靠,決定了公司效率、管理成本和對(duì)外服務(wù)水平。我的創(chuàng)造團(tuán)隊(duì)在我誕生之前,在運(yùn)維上遇到了一些難以逾越的困難:1、重復(fù)性工作多很多工作是每天重復(fù)進(jìn)行,比如數(shù)據(jù)庫備份、補(bǔ)丁檢查更新、日志空間清理等,枯燥耗時(shí),挺浪費(fèi)時(shí)間和人力。有些工作在很多設(shè)備上重復(fù),比如幾十臺(tái)服務(wù)器打...
高考結(jié)束,估計(jì)不少手機(jī)廠商已經(jīng)開始打廣大考生的主意了,要說其中讓人拍案叫絕的廠商,非榮耀莫屬了。今天榮耀手機(jī)發(fā)了一張宣傳海報(bào)上,其文案“榮耀30??忌鷤儯治?85穩(wěn)上985!”一方面是宣傳自家搭載麒麟985芯片的榮耀30,另外一方面則是表達(dá)了對(duì)考生們上985高校的美好祝愿,真是一舉兩得,不少網(wǎng)友表示榮耀這宣傳海報(bào)真是教科書級(jí)別的。我們來了解一...

史海拾趣

小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved