<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

1設計要求

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

要求系統按如下方式

在系統啟動(dòng)2秒后,將RTC在3秒鐘之后配置為產(chǎn)生一個(gè)報警事件,接著(zhù)通過(guò)WFI指令使系統停機

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

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

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

2 硬件電路設計

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

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

3 軟件程序設計

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

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

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

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

整個(gè)工程包含3個(gè)源文件:F10x.s、stm32f10x_it.c和main.c,其中F10x.s為啟動(dòng)代碼,

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

具體程序清單見(jiàn)參考程序。

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

PLL作為系統時(shí)鐘源。當處理器處理停機模式的時(shí)候,HSE、PLL是不可用的。

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

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

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

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

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

如果設置了喚醒標志則清除之。

運行過(guò)程:

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

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

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

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



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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>