www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]在使用stm32f103系列單片機(jī)的時候總是會碰到RTC計時的問題,103系列單片機(jī)的RTC使用的是秒計時在經(jīng)過一段時間的研究,終于發(fā)現(xiàn)了一種比較簡單而且易于理解的使用方法,就是結(jié)合系統(tǒng)文件time.h的使用首先要添加頭文件

在使用stm32f103系列單片機(jī)的時候總是會碰到RTC計時的問題,103系列單片機(jī)的RTC使用的是秒計時

在經(jīng)過一段時間的研究,終于發(fā)現(xiàn)了一種比較簡單而且易于理解的使用方法,就是結(jié)合系統(tǒng)文件time.h的使用
首先要添加頭文件
#include
RTC的初始化和普通方式無區(qū)別

u8RTC_Init(void){//檢查是不是第一次配置時鐘RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR|RCC_APB1Periph_BKP,ENABLE);//使能PWR和BKP外設(shè)時鐘PWR_BackupAccessCmd(ENABLE);//使能后備寄存器訪問if(BKP_ReadBackupRegister(BKP_DR1)!=0x5AA5)//從指定的后備寄存器中讀出數(shù)據(jù):讀出了與寫入的指定數(shù)據(jù)不相乎{BKP_DeInit();//復(fù)位備份區(qū)域RCC_LSEConfig(RCC_LSE_ON);//設(shè)置外部低速晶振(LSE),使用外設(shè)低速晶振while(RCC_GetFlagStatus(RCC_FLAG_LSERDY)==RESET)//檢查指定的RCC標(biāo)志位設(shè)置與否,等待低速晶振就緒{}RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);//設(shè)置RTC時鐘(RTCCLK),選擇LSE作為RTC時鐘RCC_RTCCLKCmd(ENABLE);//使能RTC時鐘RTC_WaitForLastTask();//等待最近一次對RTC寄存器的寫操作完成RTC_WaitForSynchro();//等待RTC寄存器同步RTC_ITConfig(RTC_IT_SEC,ENABLE);//使能RTC秒中斷RTC_WaitForLastTask();//等待最近一次對RTC寄存器的寫操作完成RTC_EnterConfigMode();//允許配置RTC_SetPrescaler(32767);//設(shè)置RTC預(yù)分頻的值RTC_WaitForLastTask();//等待最近一次對RTC寄存器的寫操作完成Clock_SetTime(2015,1,14,17,42,55);//設(shè)置時間RTC_ExitConfigMode();//退出配置模式BKP_WriteBackupRegister(BKP_DR1,0x5AA5);//向指定的后備寄存器中寫入用戶程序數(shù)據(jù)}else//如果已配置過則不再進(jìn)行配置{RTC_WaitForSynchro();//等待最近一次對RTC寄存器的寫操作完成RTC_ITConfig(RTC_IT_SEC,ENABLE);//使能RTC秒中斷RTC_WaitForLastTask();//等待最近一次對RTC寄存器的寫操作完成}RTC_NVIC_Config();//RCT中斷分組設(shè)置Clock_Get();//更新時間return0;}1234567891011121314151617181920212223242526272829303132333435

設(shè)置時間和讀取時間采用結(jié)構(gòu)體的方式
首先需要定義一個時間結(jié)構(gòu)體

typedefstruct{vu8hour;vu8min;vu8sec;vu16w_year;vu8w_month;vu8w_date;}_calendar_obj;_calendar_objcalendar;//時鐘結(jié)構(gòu)體123456789101112

在設(shè)置時間時

oidClock_SetTime(u16syear,u8smon,u8sday,u8hour,u8min,u8sec){time_ttime_t_Set_Time;//定義time_t類型的設(shè)置時間結(jié)構(gòu)體structtmtm_Set_Time;//定義tm結(jié)構(gòu)的設(shè)置時間結(jié)構(gòu)體tm_Set_Time.tm_year=(u32)(syear-1900);//從2000年開始算起tm_Set_Time.tm_mon=(u32)(smon-1);//月tm_Set_Time.tm_mday=(u32)sday;//日tm_Set_Time.tm_hour=(u32)hour;//時tm_Set_Time.tm_min=(u32)min;//分tm_Set_Time.tm_sec=(u32)sec;//秒time_t_Set_Time=mktime(&tm_Set_Time);//得到計數(shù)初值if(time_t_Set_Time!=0xFFFFFFFF){RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR|RCC_APB1Periph_BKP,ENABLE);//使能PWR和BKP外設(shè)時鐘PWR_BackupAccessCmd(ENABLE);//使能RTC和后備寄存器訪問RTC_SetCounter(time_t_Set_Time);//設(shè)置RTC計數(shù)器的值RTC_WaitForLastTask();//等待最近一次對RTC寄存器的寫操作完成}}1234567891011121314151617181920212223

讀取時間

voidClock_Get(void){structtm*local;time_tRTCTime;RTCTime=RTC_GetCounter();//獲取當(dāng)前RTC高字節(jié)local=localtime(&RTCTime);//把從1970-1-1零點(diǎn)零分到當(dāng)前時間系統(tǒng)所偏移的秒數(shù)時間轉(zhuǎn)換為本地日歷時間calendar.w_year=(u16)(local->tm_year+1900);//從1900年起calendar.w_month=(u16)(local->tm_mon+1);//月calendar.w_date=(u16)local->tm_mday;//日calendar.hour=(u16)local->tm_hour;//時calendar.min=(u16)local->tm_min;//分calendar.sec=(u16)local->tm_sec;//秒}123456789101112131415

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

8位單片機(jī)在嵌入式設(shè)計領(lǐng)域已經(jīng)成為半個多世紀(jì)以來的主流選擇。盡管嵌入式系統(tǒng)市場日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

在嵌入式系統(tǒng)開發(fā)中,程序燒錄是連接軟件設(shè)計與硬件實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)。當(dāng)前主流的單片機(jī)燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應(yīng)用編程)三大技術(shù)體系,分別對應(yīng)開發(fā)調(diào)試、量產(chǎn)燒錄、遠(yuǎn)程升級等不同場景。...

關(guān)鍵字: 單片機(jī) ISP ICP IAP 嵌入式系統(tǒng)開發(fā)

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個維度,系統(tǒng)分析看門狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門狗 嵌入式系統(tǒng)

本文中,小編將對單片機(jī)予以介紹,如果你想對它的詳細(xì)情況有所認(rèn)識,或者想要增進(jìn)對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開發(fā)板 Keil

隨著單片機(jī)系統(tǒng)越來越廣泛地應(yīng)用于消費(fèi)類電子、醫(yī)療、工業(yè)自動化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機(jī)系統(tǒng)面臨著電磁干擾(EMI)日益嚴(yán)重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問題。

關(guān)鍵字: 單片機(jī) 電磁兼容

以下內(nèi)容中,小編將對單片機(jī)的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對單片機(jī)的了解,和小編一起來看看吧。

關(guān)鍵字: 單片機(jī) 復(fù)位電路

在這篇文章中,小編將為大家?guī)韱纹瑱C(jī)的相關(guān)報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī) 異常復(fù)位

今天,小編將在這篇文章中為大家?guī)韱纹瑱C(jī)的有關(guān)報道,通過閱讀這篇文章,大家可以對它具備清晰的認(rèn)識,主要內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 仿真器

單片機(jī)將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對它的相關(guān)情況以及信息有所認(rèn)識和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

一直以來,單片機(jī)都是大家的關(guān)注焦點(diǎn)之一。因此針對大家的興趣點(diǎn)所在,小編將為大家?guī)韱纹瑱C(jī)的相關(guān)介紹,詳細(xì)內(nèi)容請看下文。

關(guān)鍵字: 單片機(jī) 數(shù)字信號 模擬信號
關(guān)閉