在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32進(jìn)入和退出睡眠模式例程

            STM32進(jìn)入和退出睡眠模式例程

            作者: 時間:2012-10-22 來源:網(wǎng)絡(luò) 收藏

            1設(shè)計(jì)要求

            本文引用地址:http://www.biyoush.com/article/148329.htm

            要求系統(tǒng)按如下方式

            在系統(tǒng)啟動2秒后,將RTC在3秒鐘之后配置為產(chǎn)生一個報警事件,接著通過WFI指令使系統(tǒng)停機(jī)

            。如果要喚醒系統(tǒng)到正常,可通過按Key按鈕;否則,在3秒鐘后,會產(chǎn)生RTC報警中斷自動

            將系統(tǒng)喚醒。一旦停機(jī)模式,系統(tǒng)時鐘被配置成先前的狀態(tài)(在停機(jī)模式下,外部高速振蕩器

            HSE和PLL是不可用的)。經(jīng)過一段延時之后,系統(tǒng)將再次停機(jī)狀態(tài),并可按上述操作無限重復(fù)。

            2 硬件電路設(shè)計(jì)

            硬件電路采用與7.1小節(jié)應(yīng)用實(shí)例一樣硬件電路,可見圖7-10。其中Key按鈕用于通過PB9產(chǎn)生一個外

            部中斷,LED1、LED2、LED3、LED4則用于顯示處理器所處的模式和中斷觸發(fā)情況。

            3 軟件程序設(shè)計(jì)

            根據(jù)任務(wù)要求,程序內(nèi)容主要包括:

            (1) 配置GPIOB口,配置RTC,配置外部中斷;

            (2) 配置PB口第9個引腳作為外部中斷,下降延觸發(fā);配置RTC報警中斷,上升沿觸發(fā);

            (3) 兩個中斷服務(wù)子程序的內(nèi)容分別是:切換LED2和LED3燈的狀態(tài);

            整個工程包含3個源文件:F10x.s、stm32f10x_it.c和main.c,其中F10x.s為啟動代碼,

            所有中斷服務(wù)子程序均在stm32f10x_it.c中,其它函數(shù)則在main.c中。下面分別介紹相關(guān)的函數(shù),

            具體程序清單見參考程序。

            函數(shù)SYSCLKConfig_STOP用于當(dāng)處理器從停機(jī)模式喚醒之后,配置系統(tǒng)時鐘、使能HSE和PLL,并以

            PLL作為系統(tǒng)時鐘源。當(dāng)處理器處理停機(jī)模式的時候,HSE、PLL是不可用的。

            函數(shù)GPIO_Configuration用于配置GPIO的PC6、PC7、PC8、PC9和PB9。

            函數(shù)EXTI_Configuration用于配置外部中斷線9(PB9)和17(RTC報警)。

            函數(shù)NVIC_Configuration配置NVIC及中斷向量表,這里主要是配置外部中斷線9和17。

            函數(shù)EXTI9_5_IRQHandler處理按鈕Key(PB9)所觸發(fā)的中斷,其主要作用是將LED2燈的狀態(tài)翻轉(zhuǎn)一次。

            函數(shù)RTCAlarm_IRQHandler處理RTC報警所觸發(fā)的中斷,其主要作用事將LED3 燈的狀態(tài)翻轉(zhuǎn)一次,

            如果設(shè)置了喚醒標(biāo)志則清除之。

            運(yùn)行過程:

            (1) 使用Keil uVision3 通過ULINK 2仿真器連接實(shí)驗(yàn)板,打開實(shí)驗(yàn)例程目錄PWR_TEST子目錄下的PWR.Uv2例程,編譯鏈接工程;

            (2) 選擇軟件調(diào)試模式,點(diǎn)擊MDK 的Debug菜單,選擇Start/Stop Debug Session項(xiàng)或Ctrl+F5鍵,在邏輯分析儀中添加GPIOC_ODR.6、GPIOC_ODR.7、GPIOC_ODR.8、GPIOC_ODR.9,點(diǎn)擊Run按鈕即可,在邏輯分析儀中看到如圖7-14,還可用Peripherals-General Port-GPIOB來模擬KEY按鈕的動作;

            (3) 選擇硬件調(diào)試模式,選擇Start/Stop Debug Session項(xiàng)或Ctrl+F5鍵,下載程序并運(yùn)行,觀察LED燈的變化情況。注意,當(dāng)目標(biāo)系統(tǒng)進(jìn)入停機(jī)模式之后,將無法使用仿真器進(jìn)行調(diào)試了;

            (4) Debug模式,打開Flash菜單>Download,將程序下載到開發(fā)板的Flash中,按RESET鍵復(fù)位,觀察LED燈的情況,正常情況應(yīng)為:系統(tǒng)處于運(yùn)行模式時LED1亮、LED4滅;系統(tǒng)處于停機(jī)狀態(tài)時LED1滅、LED4亮;當(dāng)按下KEY按鈕時LED2燈狀態(tài)發(fā)生反轉(zhuǎn);當(dāng)發(fā)生RTC報警時LED3狀態(tài)發(fā)生反轉(zhuǎn)。



            關(guān)鍵詞: 模式 睡眠 退出 進(jìn)入 STM32

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉