国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

1、首先回答一個(gè)問題,STM32能不能做低功耗? 
回答是肯定的,這個(gè)是有數(shù)據(jù)支持的,我測(cè)試的STM32101CB,F(xiàn)LASH:128K,RAM:16K并且RTC工作的情況下,測(cè)試到的功耗為16uA應(yīng)該說還是相當(dāng)不錯(cuò)的。 


2、STM32低功耗有哪些需要注意的地方? 
一開始我測(cè)試到STM32為16uA的時(shí)候,還是非常高興的,以為真的可以做為我的應(yīng)用,我的應(yīng)用是讓MCU定時(shí)醒來干活,干一會(huì)就睡覺,可能干活的時(shí)間就幾十個(gè)毫秒??墒呛髞戆l(fā)現(xiàn)有些問題(工作在STOP模式): 


1) 時(shí)鐘問題:STM32被喚醒以后的時(shí)鐘自動(dòng)切換到內(nèi)部HIS RC振蕩器,大家都是知道的,RC振蕩器的精度是不高的。而且,睡覺前對(duì)于時(shí)鐘的設(shè)置都是恢復(fù)到復(fù)位狀態(tài),只是時(shí)鐘這個(gè)地方復(fù)位,其他的沒有。這也會(huì)帶來一個(gè)問題,可能你睡覺前使用的是內(nèi)部時(shí)鐘,可是睡覺后,時(shí)鐘卻變了,帶來的問題就是UART和定時(shí)器?;蛟S你想不使用PLL,就是8M,這樣醒來后的時(shí)鐘HIS也是8M,這樣雖然在時(shí)鐘上沒有差別了,但是時(shí)鐘卻不穩(wěn)定了。UART波特率肯定不能太高,否則通信會(huì)有問題。 


2) 醒來時(shí)間:這個(gè)問題也是個(gè)非常大的問題,datasheet上給出的醒來時(shí)間是7us,這個(gè)可能真的不假,但是醒來,不能馬上干_你的活,為什么。初始化IO,你可能問,我不初始化不行嗎,回答應(yīng)該是否定的。因?yàn)?,如果你想使用低功耗的話,睡覺前IO口都應(yīng)該設(shè)置為模擬輸入,這樣才能達(dá)到datasheet上的14uA,但是這樣也帶來一個(gè)問題,那就是初始化IO,醒來必須要初始化IO。如果你還想把時(shí)鐘切換到外部時(shí)鐘,耗時(shí)會(huì)更加長(zhǎng),接近200ms,因?yàn)镾TM32會(huì)等待外部時(shí)鐘穩(wěn)定后才能工作,然后還要在重新初始化所有IO,這個(gè)非常的耗時(shí)??赡芪抑恍枰褋?0ms,但是這些活干完就需要100ms。 


3) RTC喚醒:RTC這個(gè)也是個(gè)問題,為什么?大家需要注意的是RTC只能使用報(bào)警才能喚醒MCU,秒中斷是不可以喚醒的。并且報(bào)警中斷必須不停的設(shè)置,設(shè)置一次只生效一次,中斷完了,還需要設(shè)置下次中斷的時(shí)間。并且還有個(gè)問題,報(bào)警中斷必須等待到秒中斷到了之后才能設(shè)置,也就是正好秒寄存器更新了一次的時(shí)候設(shè)置,這就帶來一個(gè)問題,等待秒中斷。如果睡前還想再能被報(bào)警喚醒的話必須重新設(shè)置報(bào)警中斷,而且設(shè)置報(bào)警中斷的時(shí)候需要等到秒中斷才能設(shè)置新的值。這個(gè)等待的時(shí)間是不定的??赡軙?huì)幾百個(gè)毫秒。說以要空空的耗費(fèi)幾百個(gè)毫秒等到秒中斷標(biāo)志來設(shè)置報(bào)警中斷??赡芪业腗CU只需要執(zhí)行10ms就需要睡覺了。還是要空空的耗費(fèi)掉幾百個(gè)毫秒 


總結(jié):在使用的過程中發(fā)現(xiàn)的問題,我都在上面說明了,我覺得STM32的低功耗太假,雖然在睡眠的時(shí)候性能不錯(cuò),但是醒來,和進(jìn)入睡眠的設(shè)置太麻煩,耗時(shí)太多,這是個(gè)弊端,我覺得MSP430估計(jì)是做的最好的了,即使是AVR也比他好點(diǎn),沒有那么麻煩。


拿到STM32L的樣片后,一直糾結(jié)于低功耗的測(cè)試,因?yàn)楹蚐TM32F系列的配置不同,所以導(dǎo)致了杯具,通過和ST公司不停的咨詢,終于得到了最終的結(jié)果, 
經(jīng)過測(cè)試,功耗在STOP模式下為 500nA ,性能還是不錯(cuò)的,代碼如下: 

/** 
  * @brief  Main program. 
  * @param  None 
  * @retval None 
  */ 
int main(void) 

  /*!< At this stage the microcontroller clock setting is already configured, 
       this is done through SystemInit() function which is called from startup
       file (startup_stm32l1xx_md.s) before to branch to application main.
       To reconfigure the default setting of SystemInit() function, refer to
       system_stm32l1xx.c file 
     */ 
     /* Configure all unused GPIO port pins in Analog Input mode (floating input
     trigger OFF), this will reduce the power consumption and increase the device
     immunity against EMI/EMC *************************************************/
    GPIO_InitTypeDef GPIO_InitStructure; 
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC 

                        | RCC_AHBPeriph_GPIOD | RCC_AHBPeriph_GPIOE | RCC_AHBPeriph_GPIOH, ENABLE);

    /* config all IO to Analog Input to reduce parasite power consumption */

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; 

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_400KHz;

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;

    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

    GPIO_Init(GPIOC, &GPIO_InitStructure); 

    GPIO_Init(GPIOD, &GPIO_InitStructure); 

    GPIO_Init(GPIOE, &GPIO_InitStructure); 

    GPIO_Init(GPIOH, &GPIO_InitStructure); 

    GPIO_Init(GPIOA, &GPIO_InitStructure); 

    GPIO_Init(GPIOB, &GPIO_InitStructure);  

    /* Enable PB7 as external PVD input so as to set it as AIN_IN */
    Set_PVD_To_Config_PB7(); 

    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA  
                          | RCC_AHBPeriph_GPIOB 
                          | RCC_AHBPeriph_GPIOC 
                          | RCC_AHBPeriph_GPIOD 
                          | RCC_AHBPeriph_GPIOE 
                          | RCC_AHBPeriph_GPIOH, DISABLE);
     
    PWR_UltraLowPowerCmd(ENABLE); 
    PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
    while(1); 

/** 
  * @brief  Enable PB7 as external PVD input so as to set it as AIN_IN 
  * @param  None 
  * @retval None 
  */ 
void Set_PVD_To_Config_PB7(void) 

  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); 

  /* Configure the PVD Level to 3 (2.5V) */
  PWR_PVDLevelConfig(PWR_PVDLevel_7); 

  /* Enable the PVD Output */ 
  PWR_PVDCmd(ENABLE);   
}

關(guān)鍵字:STM32  低功耗  實(shí)驗(yàn)總結(jié) 引用地址:STM32低功耗實(shí)驗(yàn)總結(jié)

上一篇:STM32L151C8周期性從待機(jī)模式喚醒(RTC Wakeup Timer)
下一篇:stm8L15x EEPORM學(xué)習(xí)筆記

推薦閱讀

1、怎樣將 FreeRTOS 移植到不同的Cortex-M 內(nèi)核?答:若需將 FreeRTOS 移植到正確的Cortex-M 產(chǎn)品,您必須從正確的目錄導(dǎo)入 “port.c”文件。例如,若微控制器是帶有IAR 工具的 Cortex-M0 內(nèi)核,則您必須從“FreeRTOS\Source\portable\IAR\ARM_CM0” 獲取 port.c。2、FreeRTOS 使用需要ROM/RAM?答:這取決于您的編譯器、代碼架構(gòu),以及RTOS...
隨著現(xiàn)代社會(huì)的發(fā)展,科學(xué)技術(shù)的進(jìn)步,出現(xiàn)了眾多高層建筑和智能建筑。電梯,作為高層建筑內(nèi)部一種重要的交通工具,其應(yīng)用規(guī)模日益擴(kuò)大。而作為電梯系統(tǒng)中必不可少的一部分,電梯召喚顯示板(簡(jiǎn)稱電梯外呼板)的應(yīng)用也隨之劇增。電梯外呼板應(yīng)用于每層樓的電梯門外,供乘客及電梯維保人員使用。電梯外呼板將乘客及維保人員的需求信息通過CAN總線傳達(dá)給電梯...
蘋果已然不是最初的“蘋果”,自造芯活動(dòng)開啟以來,戰(zhàn)功赫赫,2019年已成功躋身全球十大半導(dǎo)體廠商之列。在近期將Mac電腦芯片轉(zhuǎn)向自研并大放光芒之后,蘋果的下一輪征戰(zhàn)再次浮出水面。據(jù)彭博社報(bào)道,蘋果已開始研發(fā)自己的內(nèi)部蜂窩調(diào)制解調(diào)器即基帶,以便在未來取代目前 iPhone 所搭載的高通基帶。不止如此,傳言蘋果也將向前端射頻領(lǐng)域沖鋒,將其納入其...
由于電池的非線性特性和內(nèi)部環(huán)境評(píng)估,估算電池荷電狀態(tài)(SoC)既困難又復(fù)雜。神經(jīng)網(wǎng)絡(luò)和恩智浦的基于模型的設(shè)計(jì)工具箱(MBDT)有助于簡(jiǎn)化估算電池SoC算法的開發(fā)?,F(xiàn)代電池管理系統(tǒng)(BMS)確保電池組在電動(dòng)汽車、電源、智能手機(jī)、MP3播放器和大多數(shù)電池驅(qū)動(dòng)設(shè)備的各種解決方案中安全高效地運(yùn)行。計(jì)算電池的荷電狀態(tài)(SoC)是現(xiàn)代電池管理系統(tǒng)最關(guān)鍵的一個(gè)...

史海拾趣

問答坊 | AI 解惑

U盤只寫不讀功能的實(shí)現(xiàn)

各位帥哥美女,小弟正在學(xué)習(xí)過慮驅(qū)動(dòng)程序,不知道該如何實(shí)現(xiàn)U盤的只寫不讀。目前知道的一個(gè)方法是判斷SCSIOP是否是read或者read6 然后返回status_access_denied 如:        if(opCode==SCSIOP_READ||opCode==SCSIOP_READ6) ...…

查看全部問答∨

CeSeekDatabaseEx 總是返回0

CEOID CeOID = CeSeekDatabaseEx(m_hHandle,CEDB_SEEK_CURRENT,0,0,&dwCurrIndex); CeSeekDatabaseEx 總是返回0 DWORD error = GetLastError(); 得到的錯(cuò)誤為:值25,The drive cannot locate a specific area or track on the disk. &nb ...…

查看全部問答∨

請(qǐng)問WINCE中怎么創(chuàng)建線程池??

想用QueueUserWorkItem創(chuàng)建一個(gè)線程池,但WINCE好像不支持,麻煩大家?guī)臀页龀鲋饕?,謝謝啊~…

查看全部問答∨

LPC1768與wifi模塊

之前用 S3C2440做了wifi發(fā)射服務(wù)器,現(xiàn)在想要降低功耗并且小型化,查看LPC1768資料,發(fā)現(xiàn)這款A(yù)RM功耗很低,但是一款MCU,所以要想驅(qū)動(dòng)wifi模塊的話就不能像S3C2440那樣做了,目前想到的方案是買一個(gè)SPI-wifi模塊,大家覺得可行性怎么樣?或者誰有更 ...…

查看全部問答∨

看F28035的SPI例程有點(diǎn)不懂

Uint16 SPIA_WriteRead_8bit(Uint16 data){ while(SpiaRegs.SPIFFTX.bit.TXFFST >= 3)  //這個(gè)地方為什么要>=3呢  { //如果發(fā)送FIFO里面還有3個(gè)或3個(gè)以上的數(shù)據(jù)待發(fā)送就等待  ; } SpiaRegs.SPITXBUF = ...…

查看全部問答∨

Intel全球半導(dǎo)體份額創(chuàng)十年新高15.6%

本帖最后由 jameswangsynnex 于 2015-3-3 20:03 編輯 北京時(shí)間3月26日晚間消息,調(diào)研公司IHS iSuppli數(shù)據(jù)顯示,受PC處理器市場(chǎng)需求的推動(dòng),2011年英特爾全球半導(dǎo)體市場(chǎng)份額增至15.6%,至少創(chuàng)下10年來的最高紀(jì)錄。iSuppli數(shù)據(jù)顯示,英特爾2010年全 ...…

查看全部問答∨

STM32串口

STM32串口程序,串口助手怎么用的啊,需要下載嗎,具體怎么用的,請(qǐng)前輩賜教…

查看全部問答∨

FPGA圖像采集顯示求助

誰用fpga采集過一幅圖像存入ddr,然后不停讀出,在lcd上顯示出靜止圖像呢?我現(xiàn)在已經(jīng)存入了一幅,但是在顯示的時(shí)候,圖像總是不停的從左下角向右上角移動(dòng)。改了好多地方,仍然得不得解決,并且圖像得燒兩次才能清晰,什么原因呢,求助…

查看全部問答∨

Helper2416-37——Linux下的第一個(gè)實(shí)際小應(yīng)用

本帖最后由 yuanlai2010 于 2014-8-28 21:49 編輯 Linux下的第一個(gè)實(shí)際小應(yīng)用——統(tǒng)計(jì)房間人數(shù)參與Helper2416開發(fā)板助學(xué)計(jì)劃心得 學(xué)習(xí)Linux也有一段時(shí)間了,今天終于完成了一個(gè)有實(shí)際用處的小應(yīng)用.雖然很簡(jiǎn)單,而且如果使用單片機(jī)來完成的話將會(huì)更 ...…

查看全部問答∨
小廣播
設(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