在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

CW32實(shí)時(shí)時(shí)鐘(RTC)介紹(下)

jf_78858299 ? 來源:武漢芯源 ? 作者:武漢芯源 ? 2023-05-26 17:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

4.RTC模塊初始化,ErrorStatus 返回值為SUCCESS或ERROR

ErrorStatus RTC_Init(RTC_InitTypeDef* RTC_InitStruct)

{

CW_SYSCTRL->APBEN1_f.RTC = 1;            //  啟動(dòng)RTC外設(shè)時(shí)鐘,使能RTC模塊

if ((RCC_GetAllRstFlag() & SYSCTRL_RESETFLAG_POR_Msk) != RCC_FLAG_PORRST)  //不是上電復(fù)位,直接退出

{    

    RCC_ClearRstFlag(RCC_FLAG_ALLRST);        

    return SUCCESS;    

}

RTC_Cmd(DISABLE);                        //  停止RTC,保證正確訪問RTC寄存器

RTC_SetClockSource(RTC_InitStruct->RTC_ClockSource);        // 設(shè)置RTC時(shí)鐘源, 用戶需首先啟動(dòng)RTC時(shí)鐘源!!!

RTC_SetDate(&RTC_InitStruct->DateStruct);// 設(shè)置日期,DAY、MONTH、YEAR必須為BCD方,星期為0~6,代表星期日,星期一至星期六

RTC_SetTime(&RTC_InitStruct->TimeStruct); //時(shí)間,HOUR、MINIUTE、SECOND必須為BCD方式,用戶須保證HOUR、AMPM、H24之間的關(guān)聯(lián)正確性

RTC_Cmd(ENABLE);

RCC_ClearRstFlag(RCC_FLAG_ALLRST);  

return SUCCESS;

}

5.RTC周期中斷時(shí)間設(shè)置

int RTC_SetInterval(uint8_t Period)

{

uint16_t timeout = 0xffff;



RTC_UNLOCK();

if (IS_RTC_START())         // 如果RTC正在運(yùn)行,則使用WINDOWS、ACCESS訪問

{

    CW_RTC->CR1_f.ACCESS = 1;        

    while ((!CW_RTC->CR1_f.WINDOW) && timeout--);

    if (timeout == 0) return 1;



}

CW_RTC->CR0_f.INTERVAL = Period;

CW_RTC->CR1_f.ACCESS = 0;

RTC_LOCK();

return 0;

}

6.設(shè)置時(shí)鐘中斷使能

int RTC_ITConfig(uint32_t RTC_IT, FunctionalState NewState)

{

uint16_t timeout = 0xffff;

RTC_UNLOCK();

CW_RTC->CR1_f.ACCESS = 1;

while ((!CW_RTC->CR1_f.WINDOW) && timeout--);

if (timeout == 0) return 1;

if (!NewState)

{

    CW_RTC->IER &= ~RTC_IT;

}

else

{

    CW_RTC->IER |= RTC_IT;

}

CW_RTC->CR1_f.ACCESS = 0;

RTC_LOCK();

return 0;

}

void RTC_IRQHandlerCallBack(void)

{

if (RTC_GetITState(RTC_IT_ALARMA))

{

    RTC_ClearITPendingBit(RTC_IT_ALARMA);

    printf("*********Alarm!!!!\\r\\n");

}

if (RTC_GetITState(RTC_IT_INTERVAL))

{

    RTC_ClearITPendingBit(RTC_IT_INTERVAL);

    ShowTime();

}

void NVIC_Configuration(void)

{

__disable_irq();

NVIC_EnableIRQ(RTC_IRQn);

__enable_irq();

}

7.RTC時(shí)鐘測(cè)試,初始化日歷,使用間隔中斷0.5秒通過Log輸出日期時(shí)間

int32_t main(void)

{

RTC_InitTypeDef RTC_InitStruct = {0};

RTC_AlarmTypeDef RTC_AlarmStruct = {0};

/*系統(tǒng)時(shí)鐘配置*/

RCC_Configuration();

/* GPIO 口配置*/

GPIO_Configuration();

LogInit();//配置輸出時(shí)間所需GPIO口以及串口UART配置

printf("RTC Init...\\r\\n");

printf(" (RTC CR0:%04x,CR1:%04x,CR2:%04x,RESET FLAG:0x%08x)\\r\\n",CW_RTC->CR0,CW_RTC->CR1,CW_RTC->CR2,CW_SYSCTRL->RESETFLAG);

RCC_LSE_Enable(RCC_LSE_MODE_OSC, RCC_LSE_AMP_NORMAL, RCC_LSE_DRIVER_NORMAL); // 選擇LSE為RTC時(shí)鐘

RTC_InitStruct.DateStruct.Day = 0x21; //日

RTC_InitStruct.DateStruct.Month = RTC_Month_June;//月

RTC_InitStruct.DateStruct.Week = RTC_Weekday_Monday;//星期

RTC_InitStruct.DateStruct.Year = 0x21; //年

//設(shè)置日期,DAY、MONTH、YEAR必須為BCD方式,星期為0~6,代表星期日,星期一至星期六

printf("-------Set Date as 20%x/%x/%x\\r\\n", RTC_InitStruct.DateStruct.Year,RTC_InitStruct.DateStruct.Month,RTC_InitStruct.DateStruct.Day);

//打印日期

RTC_InitStruct.TimeStruct.Hour = 0x11; //時(shí)

RTC_InitStruct.TimeStruct.Minute = 0x58;//分

RTC_InitStruct.TimeStruct.Second = 0x59;//秒

RTC_InitStruct.TimeStruct.AMPM = 0;

RTC_InitStruct.TimeStruct.H24 = 0; //采用12小時(shí)設(shè)置

//設(shè)置時(shí)間,HOUR、MINIUTE、SECOND必須為BCD方式,用戶須保證HOUR、AMPM、H24之間的關(guān)聯(lián)正確性

printf("-------Set Time as %02x:%02x:%02x\\r\\n", RTC_InitStruct.TimeStruct.Hour,RTC_InitStruct.TimeStruct.Minute,RTC_InitStruct.TimeStruct.Second);//打印時(shí)間

RTC_InitStruct.RTC_ClockSource = RTC_RTCCLK_FROM_LSE;

RTC_Init(&RTC_InitStruct); // RTC模塊初始化, 用戶需選定需要使用的時(shí)鐘源

printf("=====Set interval period as 0.5s...\\r\\n");

RTC_SetInterval(RTC_INTERVAL_EVERY_0_5S);

//鬧鐘為工作日上午的6:45

RTC_AlarmStruct.RTC_AlarmMask = RTC_AlarmMask_WeekMON | RTC_AlarmMask_WeekTUE |

RTC_AlarmMask_WeekWED | RTC_AlarmMask_WeekTHU |RTC_AlarmMask_WeekFRI;

//設(shè)定時(shí)間為周一到周五

RTC_AlarmStruct.RTC_AlarmTime.Hour = 6;

RTC_AlarmStruct.RTC_AlarmTime.Minute = 0x45;

RTC_AlarmStruct.RTC_AlarmTime.Second = 0;

RTC_SetAlarm(RTC_Alarm_A, &RTC_AlarmStruct); // 設(shè)置鬧鐘,BCD格式

RTC_AlarmCmd(RTC_Alarm_A, ENABLE);//使能鬧鐘

printf("=====Enable ALRAMA and INTERVAL IT...\\r\\n");

RTC_ITConfig(RTC_IT_ALARMA | RTC_IT_INTERVAL, ENABLE);

//設(shè)置中斷使能

While(1){}

}

8.通過UART串口驗(yàn)證RTC工作正常

圖片

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

    關(guān)注

    4

    文章

    314

    瀏覽量

    67026
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2291

    瀏覽量

    96334
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    905

    瀏覽量

    42723
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    118560
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    255

    瀏覽量

    1215
  • 武漢芯源
    +關(guān)注

    關(guān)注

    1

    文章

    67

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    STM32 RTC實(shí)時(shí)時(shí)鐘(一)

    STM32處理器內(nèi)部集成了實(shí)時(shí)時(shí)鐘控制器(RTC),因此在實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘功能時(shí),無須外擴(kuò)時(shí)鐘芯片即可構(gòu)建實(shí)時(shí)時(shí)鐘系統(tǒng)。
    的頭像 發(fā)表于 07-22 15:41 ?5540次閱讀
    STM32 <b class='flag-5'>RTC</b><b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>(一)

    什么是實(shí)時(shí)時(shí)鐘RTC)?如何更改RTC的時(shí)間?

    什么是實(shí)時(shí)時(shí)鐘RTC)?實(shí)時(shí)時(shí)鐘RTC)的基本功能是什么?實(shí)時(shí)時(shí)鐘RTC)晶體誤差的主要來
    發(fā)表于 07-19 08:44

    實(shí)時(shí)時(shí)鐘RTC)簡(jiǎn)要介紹

    實(shí)時(shí)時(shí)鐘RTC)是什么?實(shí)時(shí)時(shí)鐘RTC的寄存器有哪些?
    發(fā)表于 10-09 07:08

    RTC是什么?RTC實(shí)時(shí)時(shí)鐘實(shí)驗(yàn)

    文章目錄前言一、RTC是什么?二、RTC實(shí)時(shí)時(shí)鐘實(shí)驗(yàn)1.引入庫2.讀入數(shù)據(jù)總結(jié)前言前面我們說了OLED實(shí)驗(yàn),是一個(gè)比較好的顯示測(cè)試代碼的方法?,F(xiàn)在我們學(xué)習(xí)關(guān)于RTC
    發(fā)表于 01-13 07:19

    RTC實(shí)時(shí)時(shí)鐘怎么使用?

    RTC實(shí)時(shí)時(shí)鐘怎么使用?cubemx中如何配置RTC?如何在keil中編寫程序?
    發(fā)表于 01-18 07:33

    RTC實(shí)時(shí)時(shí)鐘實(shí)驗(yàn)的相關(guān)資料分享

    的價(jià)值非常大,因此在這里介紹RTC的使用。只要添加一顆紐扣電池即可實(shí)時(shí)顯示單片機(jī)的時(shí)間,即使是斷點(diǎn)了也可以在下次上電的時(shí)候繼續(xù)顯示實(shí)時(shí)時(shí)
    發(fā)表于 03-02 07:34

    HT49 MCU RTC實(shí)時(shí)時(shí)鐘)的使用介紹

    HT49 MCU RTC實(shí)時(shí)時(shí)鐘)的使用介紹文件編碼:HA0024s本文主要介紹HT49 系列單片機(jī)實(shí)時(shí)時(shí)鐘的使用方法。簡(jiǎn)單
    發(fā)表于 03-26 08:37 ?12次下載

    一文看懂rtc實(shí)時(shí)時(shí)鐘和單片機(jī)時(shí)鐘的區(qū)別

    本文首先闡述了rtc實(shí)時(shí)時(shí)鐘和單片機(jī)時(shí)鐘的區(qū)別,其次介紹了單片機(jī)中時(shí)鐘概念與單片機(jī)內(nèi)外部時(shí)鐘方式
    的頭像 發(fā)表于 05-14 15:48 ?6.2w次閱讀

    淺談RTC實(shí)時(shí)時(shí)鐘特征與原理

    一、RTC實(shí)時(shí)時(shí)鐘特征與原理 查看STM32中文手冊(cè) 16 實(shí)時(shí)時(shí)鐘RTC)(308頁) RTC (Real Time Clock):
    的頭像 發(fā)表于 06-30 15:54 ?1.1w次閱讀

    STM32CubeMX | 40 - 實(shí)時(shí)時(shí)鐘RTC的使用(日歷和鬧鐘)

    STM32CubeMX | 40 - 實(shí)時(shí)時(shí)鐘RTC的使用(日歷和鬧鐘)
    發(fā)表于 11-23 18:06 ?19次下載
    STM32CubeMX | 40 - <b class='flag-5'>實(shí)時(shí)時(shí)鐘</b><b class='flag-5'>RTC</b>的使用(日歷和鬧鐘)

    STM32CubeMX系列|RTC實(shí)時(shí)時(shí)鐘

    RTC實(shí)時(shí)時(shí)鐘1. RTC實(shí)時(shí)時(shí)鐘簡(jiǎn)介2. 硬件設(shè)計(jì)3. 軟件設(shè)計(jì)3.1 STM32CubeMX設(shè)置3.2 MDK-ARM編程4. 下載驗(yàn)證
    發(fā)表于 12-24 19:15 ?16次下載
    STM32CubeMX系列|<b class='flag-5'>RTC</b><b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>

    DA1468x SoC 的實(shí)時(shí)時(shí)鐘(RTC) 概念

    DA1468x SoC 的實(shí)時(shí)時(shí)鐘 (RTC) 概念
    發(fā)表于 03-15 20:16 ?0次下載
    DA1468x SoC 的<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>(<b class='flag-5'>RTC</b>) 概念

    CW32實(shí)時(shí)時(shí)鐘RTC介紹(上)

    實(shí)時(shí)時(shí)鐘RTC)是一個(gè)專用的計(jì)數(shù)器 / 定時(shí)器,可提供日歷信息,包括小時(shí)、分鐘、秒、日、月份、年份以及星期。RTC 具有兩個(gè)獨(dú)立鬧鐘,時(shí)間、日期可組合設(shè)定,可產(chǎn)生鬧鐘中斷,并通過引腳輸出;支持時(shí)間
    的頭像 發(fā)表于 05-26 17:07 ?1917次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>(<b class='flag-5'>RTC</b>)<b class='flag-5'>介紹</b>(上)

    DA1468x SoC 的實(shí)時(shí)時(shí)鐘(RTC) 概念

    DA1468x SoC 的實(shí)時(shí)時(shí)鐘 (RTC) 概念
    發(fā)表于 07-06 19:27 ?0次下載
    DA1468x SoC 的<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>(<b class='flag-5'>RTC</b>) 概念

    CW32實(shí)時(shí)時(shí)鐘RTC介紹

    CW32實(shí)時(shí)時(shí)鐘RTC介紹
    的頭像 發(fā)表于 10-24 15:36 ?1632次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>(<b class='flag-5'>RTC</b>)<b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 永久免费品色堂 | 深夜在线视频免费网址 | 三级毛片在线免费观看 | 人人干人人舔 | 久久久久久国产精品免费免费 | 人人草草 | 久久成人影视 | 亚洲综合一区二区三区 | 综合久久99 | 福利天堂 | 日本免费一区二区三区视频 | 在线播放交视频 | 一区二区三区四区在线 | 黄色三级网站 | 日韩草逼 | 亚洲精品国产成人 | 在线观看免费视频 | 天天干 夜夜操 | 久久人人做人人玩人精品 | 久碰香蕉精品视频在线观看 | 天天干免费视频 | 激情六月丁香婷婷 | 毛茸茸成熟妇女亚洲人 | 欧洲成人r片在线观看 | 成熟女性毛茸茸xx免费视频 | 日本亚洲精品色婷婷在线影院 | 午夜激情影视 | 国产免费的野战视频 | 激情六月丁香婷婷 | 亚洲天天更新 | 亚洲资源在线观看 | 国产婷婷综合丁香亚洲欧洲 | 午夜影院三级 | 国产又色| 1024你懂的国产在线播放 | 丝袜紧身裙国产在线播放 | 久久久久四虎国产精品 | 天天视频黄 | 嫩草影院永久入口在线观看 | 狠狠色噜狠狠狠狠色综合久 | 97久久天天综合色天天综合色hd |