根據專案需要選擇的是停機模式
進入停止模式之後,任何外部中斷都可以喚醒低功耗,但是需要重新配置時鐘,不然系統將以預設時鐘(沒有經過倍頻)執行。
1.進入低功耗
rcc_apb1periphclockcmd(rcc_apb1periph_pwr, enable);
pwr_enterstopmode (pwr_regulator_on,pwr_stopentry_wfi);
2.降低低功耗,需要配置沒有使用的gpio,改變它的預設配置狀態。演示狀態是關閉所有io外設,具體情況,可以自行配置
gpio_inittypedef gpio_initstructure;
rcc_ahb1periphclockcmd(rcc_ahb1periph_gpioa|rcc_ahb1periph_gpiob|rcc_ahb1periph_gpioc|rcc_ahb1pe riph_gpiod|rcc_ahb1periph_gpioh, enable);//
gpio_initstructure.gpio_pin = gpio_pin_all;
gpio_initstructure.gpio_speed = gpio_speed_50mhz;
gpio_initstructure.gpio_mode = gpio_mode_an;
gpio_init(gpioa, &gpio_initstructure);
gpio_init(gpiob, &gpio_initstructure);
gpio_init(gpioc, &gpio_initstructure);
gpio_init(gpiod, &gpio_initstructure);
3.檢查有沒有配置adc等其他的外設,一定要關閉adc等其他的外設時鐘。
4.如何進行喚醒操作?
在中斷處理函式中,進行下系統初始化就可以了。
systeminit();
如果不進行系統初始化,則以預設時鐘進行執行。
5.經過測試mcu消耗170ua。(應該還能降低到20ua,但是還是沒找出**耗電)
精準定時呼吸燈 STM32F103C8
入門stm32的第一貼 之前一直停留在51的水平,最近因為課題需要,硬著頭皮開始了stm32,主要是完成了以下學習目標 1.完成了基於庫函式的stm32軟體框架的組建 2.掌握了非中斷型的精準微秒級和毫秒級的延遲函式的使用。主函式 title 呼吸燈 author 小呼呼哈哈哈 include le...
STM32F103C8直流電機學習
電機如下 通常電機需要正反轉會需要乙個電機驅動板,電機接到電機介面。電機驅動板如下 電機狀態表如下 不同的電機驅動板可能會有略微不同,有的in1,in2之外可能還會有ena輸入訊號去pwm脈衝訊號來調速度,這個電機驅動板就沒有,就通過直接給in1,in2引腳pwm訊號,比如左輪正轉,in1輸入pwm...
stm32f103c8串列埠USART1傳送多一位元組
用uart寫了一段bootloader 遇到了乙個很奇怪的現象。如下 簡單介紹一下就是先統一配置mcu的io埠,然後配置串列埠引數,然後迴圈傳送 0 和 r 16進製制是0x30 0x0d int main void void io init void void uart init uint32 t...