中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 牛人業(yè)話 > STM32的待機(jī)喚醒實(shí)驗(yàn)分析(基于原子哥程序)

        STM32的待機(jī)喚醒實(shí)驗(yàn)分析(基于原子哥程序)

        作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò) 收藏

          前段時(shí)間我稍微涉及節(jié)能減排大賽、、倡導(dǎo)節(jié)能的社會(huì)、、沒(méi)錯(cuò)了、你真是太聰明了、、知道了我今天要講關(guān)于節(jié)能方面的模塊、、沒(méi)錯(cuò)、、這標(biāo)題已經(jīng)告訴你了是吧、、哦,對(duì),標(biāo)題有寫(xiě)、、所以、、言歸正傳、至于如何達(dá)到節(jié)能的、、語(yǔ)文老師說(shuō)要留下懸念、、跟著作者走下去、、也就是跟我啦、、

        本文引用地址:http://www.antipu.com.cn/article/201610/311123.htm

          大家翻開(kāi)的中文參考手冊(cè)(你們看就行了,我翻,然后截圖),里面關(guān)于STM32的低功耗模式有詳細(xì)的標(biāo)注,突然不想截圖。。

          1、睡眠模式(Cortex™-M3內(nèi)核停止,所有外設(shè)包括Cortex-M3核心的外設(shè),如NVIC、系統(tǒng)時(shí)鐘(SysTick)等仍在運(yùn)行)

          2、停止模式(所有的時(shí)鐘都已停止)

          3、待機(jī)模式(1.8V電源關(guān)閉)(我們本博客中具體介紹的一種模式,也是功耗最低的模式)

          現(xiàn)附上三者照片、、望觀眾好好欣賞、、還有請(qǐng)稍微注意下我的涂鴉、、小弟感激不盡:

          

         

          啊哈、、這照片是不是很神奇呀、、即把三個(gè)老家伙的家底進(jìn)行了較為認(rèn)真的比較,而且從照片中我們也可以看出,如何進(jìn)入,如何喚醒他們、、而且有什么影響都跟我們透露了、、可謂是后生可畏呀、、所以我叫大家注意我美麗的涂鴉是有道理的、、哈、

          在本博客中,我們就利用WKUP引腳的上升沿來(lái)喚醒MCU、、不好意思哈、、老是把上升沿打成上小沈陽(yáng)、、所以我們就具體來(lái)介紹的實(shí)現(xiàn)方法、、

          那我們要怎么來(lái)進(jìn)入待機(jī)模式、、又要怎么喚醒呢?

          

         

          看到“進(jìn)入”中的紅色數(shù)字標(biāo)號(hào)了吧、、沒(méi)錯(cuò)了、、我們只要按照此步驟來(lái)設(shè)置相應(yīng)的寄存器就行了、、那、、我打???的是什么呢??好了、、請(qǐng)容許我介紹下:

          1、 Cotex_M3系統(tǒng)控制寄存器中的SLEEPDEEP位到底在哪呢??大家請(qǐng)翻開(kāi)《權(quán)威指南》第182頁(yè)可以看到表格、、當(dāng)然這里不用你翻開(kāi)、、因?yàn)槲乙呀貓D:

          

         

          2、電源控制寄存器(PWR_CR)中PDDS位:請(qǐng)看寄存器的位:

          

         

          3、電源控制/狀態(tài)寄存器(PWR_CSR)中EWUP位

          

         

          至此、我們通過(guò)這三步、完成了進(jìn)入待機(jī)模式的任務(wù)、、那我們?cè)趺赐ㄟ^(guò)程序?qū)崿F(xiàn)呢?啊哈、、庫(kù)神出現(xiàn)吧、、:::系統(tǒng)出現(xiàn)奔潰、、請(qǐng)稍后、、詳情請(qǐng)咨詢(xún)10086、、

          額、、出現(xiàn)了點(diǎn)意外、、不急哈、、那我們先來(lái)看看怎么退出待機(jī)模式:重現(xiàn)一張圖片:

          

         

          看到了吧、、在這里我們就利用其中一種方式來(lái)喚醒:WKUP引腳的上升沿、、注意哈、、注意此上升沿三個(gè)字哈、、 至于為什么要注意上升沿、、在這里提出我也是有目的、、先記著哈、、你此時(shí)想的為什么要注意的原因肯定跟我待會(huì)提到的時(shí)候不一樣、、在此先奸笑下、、

          那我們要怎么來(lái)喚醒呢??

          親、、我們通過(guò)外部中斷觸發(fā)來(lái)喚醒、、所以請(qǐng)看代碼:

          1 void Wkup_Init(void)

          2 {

          7 EXTI_InitTypeDef EXTI_InitStructure;

          8 NVIC_InitTypeDef NVIC_InitStructure;

          9

          10 KEY_Init();//我的IO初始化在按鍵里已經(jīng)初始化了

          11

          12 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

          13

          14 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);

          15

          16 EXTI_InitStructure.EXTI_Line = EXTI_Line0; //PA0

          17 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;

          18 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;

          19 EXTI_InitStructure.EXTI_LineCmd = ENABLE;

          20 EXTI_Init(&EXTI_InitStructure);

          21

          22 NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;

          23 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02;

          24 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x03;

          25 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

          26 NVIC_Init(&NVIC_InitStructure);

          27

          28 if(Check_up() == 0) //系統(tǒng)初始化后由于沒(méi)有按下按鍵、、所以系統(tǒng)直接進(jìn)入了待機(jī)模式了,所以下載了程序沒(méi)有任何反應(yīng)、、需要人為的喚醒:死豬,就知道睡,快醒、、

          29 {

          30 Sys_Standby(); //進(jìn)入待機(jī)模式

          31 }

          32 }

          復(fù)制代碼

          復(fù)制代碼

          //正常模式下會(huì)運(yùn)行中斷服務(wù)函數(shù),而待機(jī)模式下則不會(huì)運(yùn)行中斷服務(wù)函數(shù)、、因?yàn)榇龣C(jī)模式下MCU不工作,所以上升沿的作用也僅僅是喚醒、、

          //在這里提醒:?jiǎn)拘阎恍枰仙?、、所以從待機(jī)模式切換到正常模式下從始至終都不會(huì)執(zhí)行中斷服務(wù)函數(shù)

          //在這里,知道我為什么要在上面提醒大家要注意上升沿了吧、(下面還有)、

          //至于為什么不會(huì)執(zhí)行,待會(huì)我還會(huì)給出解釋、、

          3 void EXTI0_IRQHandler(void)

          4 {

          5 EXTI_ClearITPendingBit(EXTI_Line0);

          6 if(Check_up())

          7 {

          8 Sys_Enter_Standby();

          9 }

          10 }


        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: STM32 待機(jī)喚醒

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉