女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用CKS32F107xx系列RTC的鬧鐘實驗

中科芯MCU ? 來源:中科芯MCU ? 2025-02-18 17:21 ? 次閱讀

MCU微課堂

CKS32F107xx 備份寄存器

第五十一期 2025.02.18

鬧鐘實驗

本小節講解的是如何在萬年歷實驗的基礎上,利用RTC的鬧鐘功能實現一個鬧鐘,在每天的[XX小時-XX分鐘-XX秒]產生鬧鐘,然后通過閃爍LED模擬鬧鐘響效果。

程序設計要點

(1)初始化RTC外設,設置RTC初始時間;

(2)編程鬧鐘,設置鬧鐘時間;

(3)編寫鬧鐘中斷服務函數;

代碼分析

鬧鐘實驗是在萬年歷實驗的基礎上添加,相同部分的代碼不再講解,這里只講解鬧鐘相關的代碼,更加具體的請參考鬧鐘實驗的工程源碼。

(1)鬧鐘相關宏定義(與萬年歷實驗相同)

(2)初始化RTC

在本工程中,除了用RTC_ITConfig使能秒中斷外,還需要補充使鬧鐘中斷RTC_IT_ALR。

/*

* 函數名:RTC_Configuration

* 描述 :配置RTC

* 輸入 :無

* 輸出 :無

*/

void RTC_Configuration(void)

{

……

RTC_ITConfig(RTC_IT_SEC|RTC_IT_ALR, ENABLE);//使能 RTC 秒中斷和鬧鐘中斷

……

}

(3)設置默認鬧鐘時間結構體

系統默認的鬧鐘觸發時間是在斷電開機后的第8秒,因此系統默認時間和鬧鐘時間結構體設置如下。

/*時間結構體,默認時間2000-01-01 0000*/

struct rtc_time systmtime=

{

0,0,0,1,1,2000,0

};

/*時間結構體,鬧鐘時間2000-01-01 0008*/

struct rtc_time clocktime=

{

8,0,0,1,1,2000,0

};

(4)鬧鐘中斷服務函數

本實驗中的RTC中斷服務函數在萬年歷實驗的基礎上,增加了判斷鬧鐘中斷的分支,如果發生鬧鐘中斷,則將鬧鐘響標志TimeAlarm置1,然后通過翻轉LED指示燈模擬鬧鐘響的效果。

void RTC_IRQHandler(void)

{

if (RTC_GetITStatus(RTC_IT_SEC) != RESET)//秒中斷

{

RTC_ClearITPendingBit(RTC_IT_SEC);//清中斷標志

TimeDisplay = 1;//置位秒顯示更新任務標志

RTC_WaitForLastTask();//等待RTC操作完成

}

if (RTC_GetITStatus(RTC_IT_ALR) != RESET)//鬧鐘中斷

{

RTC_ClearITPendingBit(RTC_IT_ALR);//清中斷標志

TimeAlarm = 1 ;//鬧鐘響標志

}

if( TimeAlarm == 1)

{

GPIO_TogglePin(LED1_GPIO_PORT, LED1_GPIO_PIN);//鬧鐘響翻轉LED

}

}

(5)main函數

main函數在萬年歷實驗基礎上,增加了LED初始化和鬧鐘設置的部分,其余部分相同。在初始化RTC結束之后,進行鬧鐘設置,把鬧鐘時間結構體通過mktimev函數轉換成UNIX時間戳,再減去北京時區的偏移,寫入鬧鐘寄存器。

int main()

{

……

LED_GPIO_Config();

……

clock_timestamp = mktimev(&clocktime) - TIME_ZOOM; //計算鬧鐘時間戳

RTC_SetAlarm(clock_timestamp);//寫入鬧鐘寄存器

……

while (1)

{

……

}

}

把編譯好的程序下載到開發板,當日歷時間到了鬧鐘時間時,開發板LED4會開始閃爍,但日歷會繼續運行。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5421

    瀏覽量

    123290
  • 鬧鐘
    +關注

    關注

    0

    文章

    78

    瀏覽量

    27363
  • 萬年歷
    +關注

    關注

    3

    文章

    189

    瀏覽量

    24259
  • RTC
    RTC
    +關注

    關注

    2

    文章

    607

    瀏覽量

    68274

原文標題:MCU微課堂|CKS32F107xx 備份寄存器

文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    CubeMX配置RTC實現日歷和鬧鐘實驗

    CubeMX配置RTC實現日歷和鬧鐘實驗
    的頭像 發表于 02-15 14:05 ?2214次閱讀
    CubeMX配置<b class='flag-5'>RTC</b>實現日歷和<b class='flag-5'>鬧鐘</b><b class='flag-5'>實驗</b>

    CKS32F4xx系列產品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個串口都支持DMA傳輸。因此本節我們對CKS32F4xx系列的DMA進行介紹,同時利用DMA對串
    的頭像 發表于 04-10 11:18 ?1304次閱讀

    CKS32F4xx系列RNG功能設置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機數發生器簡介 ? ? CKS32F4xx系列自帶了硬件隨機數發生器(RNG),RNG處理器是一個以連續模擬噪聲為基礎的隨機數發生器,在
    的頭像 發表于 09-08 10:01 ?853次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG功能設置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發表于 11-06 16:56 ?1092次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC功能

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發表于 11-06 16:53 ?1313次閱讀

    CKS32F4xx系列低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式STANDBY模式
    的頭像 發表于 11-06 16:57 ?708次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式STOP模式

    CKS32F4xx系列低功耗模式STOP模式
    的頭像 發表于 11-06 17:08 ?843次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STOP模式

    CKS32F4xx系列產品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產品Timer的基本使用方法-比較輸出
    的頭像 發表于 11-09 17:39 ?1097次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產品Timer的基本使用方法-定時操作

    CKS32F4xx系列產品Timer的基本使用方法-定時操作
    的頭像 發表于 11-09 17:41 ?805次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品Timer的基本使用方法-定時操作

    MCU微課堂 | CKS32F4xx系列產品SPI通信

    MCU微課堂 | CKS32F4xx系列產品SPI通信
    的頭像 發表于 10-24 17:12 ?966次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品SPI通信

    CKS32F107xx系列時鐘系統具體配置方法講解

    上一章節對CKS32F107xx系列時鐘做了整體介紹,本章節以使用HSI內部高速時鐘為例對時鐘具體配置方法進行講解。
    的頭像 發表于 05-28 10:05 ?937次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>時鐘系統具體配置方法講解

    CKS32F107xx系列MCU中ADC介紹

    CKS32F107xx系列產品提供2個12位的模擬/數字轉換器(ADC),每個ADC共用多達16個外部通道,各通道的A/D轉換可以單次、連續、掃描或間斷模式執行。ADC的結果可以左對齊或右對齊方式存儲在16位數據寄存器中。
    的頭像 發表于 06-22 11:04 ?1085次閱讀

    CKS32F107xx系列MCU的GPIO內部硬件結構和工作模式

    16個引腳,如型號為CKS2F107VET6型號的芯片有GPIOA、GPIOB、GPIOC至GPIOE共5組GPIO,芯片一共100個引腳,其中GPIO就占了一大部分,所有的GPIO引腳都有基本的輸入輸出功能。
    的頭像 發表于 07-22 09:23 ?1131次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>MCU的GPIO內部硬件結構和工作模式

    詳解CKS32F107xx系列的定時器同步功能

    CKS32F107xx系列部分定時器在內部是相連的,可用于定時器同步或鏈接,方便用戶配置不同的同步模式,以便在電機控制、數據采集和PWM信號生成等應用中,實現復雜的時間序列和多通道的同步操作。本節課
    的頭像 發表于 11-26 17:51 ?926次閱讀
    詳解<b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>的定時器同步功能

    CKS32F107xx系列USART的LIN模式

    CKS32F107xx系列在支持正常USART功能的同時,亦支持LIN(局域互聯網)模式。
    的頭像 發表于 02-18 17:18 ?390次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>USART的LIN模式