STM32F407 週期喚醒功能

2021-09-30 19:30:30 字數 874 閱讀 1153

1.下圖是stm32f407的中文參考手冊中,rtc介紹部分。因為我想實現微控制器每秒自動喚醒自己一次,開始打算用鬧鐘中斷,但是每次喚醒以後都要自己設定下次喚醒的時間,簡單的方法是秒+1,但是要考慮是不是59秒的情況,比較麻煩。所以就選擇喚醒中斷的方式。

2.時鐘圖分析:

(1)通過暫存器rtc_cr   wucksesel[1:0] 設定喚醒時鐘,為了方式我選擇的是10x(1hz)。

標準庫**:rtc_wakeupclockconfig(rtc_wakeupclock_ck_spre_16bits);

(2)通過rtc_wutr暫存器設定週期喚醒的時間

標準庫**:rtc_setwakeupcounter(x-1);//x單位是秒,一定要注意-1,文件上有說明需要-1

(3)基礎配置就完了,其實很簡單。接下來就是需要配置中斷和nvic了。週期喚醒中斷的line是22

**如下:

void wakeup()

///中斷函式,1秒執行一次

void rtc_wkup_irqhandler(void)

printf("rtc_it_wut2\n");

}下面是文件中有些有用的截圖

基於stm32f407建立stm32F427工程

分為三個部分 1.啟動檔案 2.fwilib 包含兩個資料夾inc和src。src裡面是stm32資源的c檔案,inc則是32資源的h檔案 3.user這也是我不太理解的部分 ddbugconfig只包含了用於debug的初始化,則是f4的系統檔案。我是在f407的基礎上改的 總的來說 1.改了晶元...

STM32F407上除錯freeRTOS問題

是在正點原子的阿波羅stm32f429開發板上的例子改來的,他們的編譯沒有問題,我編譯時出現如下問題 定位到出錯的地方,是 再追 configmax syscall interrupt priority 的定義是 define configmax syscall interrupt priority...

STM32F407 驅動外部SRAM

需要驅動的sram型號為is61lv25616al,價效比比51216的高很多 配置cubemx 這幾個時序比較關鍵,可以按照手冊來計算,我用下來這幾個數值比較合適。然後就沒有然後了,生成 就可以用了。檢查sram內容是否正確 uint8 t bsp testextsram void 寫sram p...