目的:每天定時鬧鐘
直接上過程:
步驟一、配置
日曆設定,我這裡是20-03-06 9:00:00 星期五。那天都無所謂,有函式可以修改。
鬧鐘設定:09:01:00秒的鬧鐘
注意:alarm mask hours等這些設定,我英語不太好,但是我知道mask是什麼意思。它是遮蔽的意思。我這裡是每天09:01:00。如果全部不遮蔽,則,rtc時間與鬧鐘時間完全一致才會觸發。mask是用來遮蔽觸發條件的。
比如說:我工作日遮蔽,秒遮蔽。那麼這樣的話,每天9:01分都會進入鬧鐘中斷函式,而且會進去60次,09:01:00-09:01:59期間,每s都會觸發一次。
使能中斷
再帖幾個函式上來
// alarm a callback. al_rtc_alarmaeventcallback(hrtc);
void
hal_rtc_alarmaeventcallback
(rtc_handletypedef *hrtc)
//sets the specified rtc alarm with interrupt
hal_statustypedef rtc_set_alarm_it
(uint8_t hour,uint8_t min,uint8_t sec)
//sets rtc current date. 優化的不是很好,強迫症者可自行修改
hal_statustypedef rtc_set_date_time
(uint8_t year,uint8_t month,uint8_t date,uint8_t week,uint8_t hour,uint8_t min,uint8_t sec,uint8_t ampm)
hal_statustypedef rtc_getalarm
(void
)
要用到的**都貼上來了,其實還是挺簡單的。留意rtc_set_alarm_it這個函式 基於stm32f407建立stm32F427工程
分為三個部分 1.啟動檔案 2.fwilib 包含兩個資料夾inc和src。src裡面是stm32資源的c檔案,inc則是32資源的h檔案 3.user這也是我不太理解的部分 ddbugconfig只包含了用於debug的初始化,則是f4的系統檔案。我是在f407的基礎上改的 總的來說 1.改了晶元...
GD32F13x移植問題
由於stm32交期太長,產品需要更換晶元。國產晶元有數家可選,gd32 mm32 at32等等。當前我使用的是gd32,在國產晶元中算比較好的了。不過在移植過程中,也遇到過奇奇怪怪的問題,下面總結一下踩過的坑。第一次移植gd時,沒有完全移植,只是部分外設移植,導致配置混亂。stm和gd在暫存器命名上...
STM32F4與STM32F1的區別
作為cortex m3市場的最大佔有者,st公司在2011年又推出基於cortex m4核心的stm32f4系列產品,相對與stm32f1 f2等cortex m3產品,stm32f4最大的優勢,就是新增了硬體fpu單元以及dsp指令,同時,stm32f4的主頻也提高了很多,達到168mhz 可獲得...