91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用CKS32F107xx系列RTC的鬧鐘實驗

中科芯MCU ? 來源:中科芯MCU ? 2025-02-18 17:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MCU微課堂

CKS32F107xx 備份寄存器

第五十一期 2025.02.18

鬧鐘實驗

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

程序設(shè)計要點(diǎn)

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

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

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

代碼分析

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

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

(2)初始化RTC

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

/*

* 函數(shù)名:RTC_Configuration

* 描述 :配置RTC

* 輸入 :無

* 輸出 :無

*/

void RTC_Configuration(void)

{

……

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

……

}

(3)設(shè)置默認(rèn)鬧鐘時間結(jié)構(gòu)體

系統(tǒng)默認(rèn)的鬧鐘觸發(fā)時間是在斷電開機(jī)后的第8秒,因此系統(tǒng)默認(rèn)時間和鬧鐘時間結(jié)構(gòu)體設(shè)置如下。

/*時間結(jié)構(gòu)體,默認(rèn)時間2000-01-01 0000*/

struct rtc_time systmtime=

{

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

};

/*時間結(jié)構(gòu)體,鬧鐘時間2000-01-01 0008*/

struct rtc_time clocktime=

{

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

};

(4)鬧鐘中斷服務(wù)函數(shù)

本實驗中的RTC中斷服務(wù)函數(shù)在萬年歷實驗的基礎(chǔ)上,增加了判斷鬧鐘中斷的分支,如果發(fā)生鬧鐘中斷,則將鬧鐘響標(biāo)志TimeAlarm置1,然后通過翻轉(zhuǎn)LED指示燈模擬鬧鐘響的效果。

void RTC_IRQHandler(void)

{

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

{

RTC_ClearITPendingBit(RTC_IT_SEC);//清中斷標(biāo)志

TimeDisplay = 1;//置位秒顯示更新任務(wù)標(biāo)志

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

}

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

{

RTC_ClearITPendingBit(RTC_IT_ALR);//清中斷標(biāo)志

TimeAlarm = 1 ;//鬧鐘響標(biāo)志

}

if( TimeAlarm == 1)

{

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

}

}

(5)main函數(shù)

main函數(shù)在萬年歷實驗基礎(chǔ)上,增加了LED初始化和鬧鐘設(shè)置的部分,其余部分相同。在初始化RTC結(jié)束之后,進(jìn)行鬧鐘設(shè)置,把鬧鐘時間結(jié)構(gòu)體通過mktimev函數(shù)轉(zhuǎn)換成UNIX時間戳,再減去北京時區(qū)的偏移,寫入鬧鐘寄存器。

int main()

{

……

LED_GPIO_Config();

……

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

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

……

while (1)

{

……

}

}

把編譯好的程序下載到開發(fā)板,當(dāng)日歷時間到了鬧鐘時間時,開發(fā)板LED4會開始閃爍,但日歷會繼續(xù)運(yùn)行。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5608

    瀏覽量

    129946
  • 鬧鐘
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    28054
  • 萬年歷
    +關(guān)注

    關(guān)注

    3

    文章

    190

    瀏覽量

    25116
  • RTC
    RTC
    +關(guān)注

    關(guān)注

    2

    文章

    653

    瀏覽量

    71759

原文標(biāo)題:MCU微課堂|CKS32F107xx 備份寄存器

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    中科芯CKS32F107XX系列MCU的獨(dú)立看門狗介紹

    中科芯CKS32F107xx系列產(chǎn)品內(nèi)部提供兩個看門狗定時器單元,獨(dú)立型看門狗IWDG(Independent Watchdog)和窗口型看門狗WWDG(Window Watchdog),它們在
    的頭像 發(fā)表于 11-28 14:51 ?3848次閱讀
    中科芯<b class='flag-5'>CKS32F107XX</b><b class='flag-5'>系列</b>MCU的獨(dú)立看門狗介紹

    中科芯CKS32F107XX系列MCU的窗口看門狗介紹

    中科芯CKS32F107xx系列產(chǎn)品內(nèi)部提供兩個看門狗定時器單元,獨(dú)立型看門狗IWDG(Independent Watchdog)和窗口型看門狗WWDG(Window Watchdog),本文主要介紹WWDG的應(yīng)用,關(guān)于IWDG的詳情,請參看我們的IWDG微課堂內(nèi)容。
    的頭像 發(fā)表于 11-28 14:48 ?4108次閱讀
    中科芯<b class='flag-5'>CKS32F107XX</b><b class='flag-5'>系列</b>MCU的窗口看門狗介紹

    中科芯CKS32F107XX系列MCU的bxCAN介紹

    CKS32F107xx系列產(chǎn)品的bxCAN支持CAN協(xié)議2.0A和2.0B標(biāo)準(zhǔn)。 該CAN 控制器支持最高的通訊速率為1Mb/s;可以自動地接收和發(fā)送CAN報文,支持使用標(biāo)準(zhǔn)ID和擴(kuò)展ID的報文
    的頭像 發(fā)表于 01-22 09:06 ?3022次閱讀
    中科芯<b class='flag-5'>CKS32F107XX</b><b class='flag-5'>系列</b>MCU的bxCAN介紹

    CubeMX配置RTC實現(xiàn)日歷和鬧鐘實驗

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

    CKS32F4xx系列產(chǎn)品串口DMA傳輸

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

    CKS32F4xx系列RNG功能設(shè)置

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

    CKS32F4xx系列DAC功能

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

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

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

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時操作

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

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信

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

    CKS32F107xx系列時鐘系統(tǒng)具體配置方法講解

    上一章節(jié)對CKS32F107xx系列時鐘做了整體介紹,本章節(jié)以使用HSI內(nèi)部高速時鐘為例對時鐘具體配置方法進(jìn)行講解。
    的頭像 發(fā)表于 05-28 10:05 ?1599次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>時鐘系統(tǒng)具體配置方法講解

    CKS32F107xx系列MCU中ADC介紹

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

    CKS32F107xx系列MCU的GPIO內(nèi)部硬件結(jié)構(gòu)和工作模式

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

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

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

    CKS32F107xx系列USART的LIN模式

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