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

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]S3C2440擁有一個(gè)實(shí)時(shí)時(shí)鐘模塊,可以在當(dāng)系統(tǒng)電源關(guān)閉后通過備用電池工作。RTC可以通過使用STRB/LDRB ARM操作發(fā)送8位二-十進(jìn)制交換碼(BCD)值數(shù)據(jù)給CPU。這些數(shù)據(jù)包括年、月、日、星期、時(shí)、分和秒的時(shí)間信息。RTC單元

S3C2440擁有一個(gè)實(shí)時(shí)時(shí)鐘模塊,可以在當(dāng)系統(tǒng)電源關(guān)閉后通過備用電池工作。RTC可以通過使用STRB/LDRB ARM操作發(fā)送8位二-十進(jìn)制交換碼(BCD)值數(shù)據(jù)給CPU。這些數(shù)據(jù)包括年、月、日、星期、時(shí)、分和秒的時(shí)間信息。RTC單元工作在外部32.768kHz晶振并且可以執(zhí)行鬧鐘功能

實(shí)時(shí)時(shí)鐘模塊保存的數(shù)據(jù)是DCD碼形式.

框圖如下


可以看到,要使用實(shí)時(shí)時(shí)鐘依靠以下幾個(gè)寄存器


包含時(shí)鐘使能和時(shí)鐘復(fù)位(還有兩個(gè)寄存器是測試模式,我們用不到)


關(guān)聯(lián)著時(shí)鐘節(jié)拍中斷,也就是每增加1S發(fā)生一次中斷


時(shí)鐘中斷,時(shí)鐘的時(shí)分秒年月日都是可以進(jìn)行使能的

接下來是時(shí)分秒年月日鬧鐘點(diǎn)設(shè)置

有六個(gè)就不一一列舉了,意思是當(dāng)?shù)竭_(dá)這個(gè)時(shí)間點(diǎn)時(shí)發(fā)生中斷,比如我設(shè)置23秒發(fā)生中斷,那么每一分鐘的23秒都會(huì)中斷一次

還要注意,因?yàn)槭褂玫氖荁CD計(jì)數(shù),所以對時(shí)鐘的讀取,寫入都要進(jìn)行BCD碼的轉(zhuǎn)換,否則數(shù)據(jù)不對哦

詳細(xì)查看代碼

#include"rtc.h"char*week_num[7]={"SUN","MON","TUES","WED","THURS","FRI","SAT"};RTC_TIMERrtcTimer;ALARM_TIMERalarmTimer;/**********************************TICK中斷**********************************/void__irqRTC_tickHandler(void){rSRCPND"=BIT_TICK;//清除源掛起rINTPND|=BIT_TICK;//清除中斷掛起RTCGetValue();printf("currentyear%dmouth%dday%dhour%dminute%dsec%drn",rtcTimer.year,rtcTimer.month,rtcTimer.day,rtcTimer.hour,rtcTimer.minute,rtcTimer.second);}/**********************************alarm鬧鐘中斷**********************************/void__irqRTC_alarmHandler(void){rSRCPND|=BIT_RTC;//清除源掛起rINTPND|=BIT_RTC;//清除中斷掛起printf("alarminthappendrn");}//rtc獲取時(shí)間voidRTCGetValue(void){u8temp=0,cover=0;rRTCCON|=0x01;//RTC讀寫使能,BCD時(shí)鐘、計(jì)數(shù)器、無復(fù)位temp=rBCDYEAR;temp=((temp/16)*10)+(temp%16);rtcTimer.year=temp+YEAR_BASE;temp=rBCDMON;temp=((temp/16)*10)+(temp%16);rtcTimer.month=temp;temp=rBCDDATE;temp=((temp/16)*10)+(temp%16);rtcTimer.day=temp;temp=rBCDDAY;temp=((temp/16)*10)+(temp%16);rtcTimer.weekDay=temp;temp=rBCDHOUR;temp=((temp/16)*10)+(temp%16);rtcTimer.hour=temp;temp=rBCDMIN;temp=((temp/16)*10)+(temp%16);rtcTimer.minute=temp;temp=rBCDSEC;temp=((temp/16)*10)+(temp%16);rtcTimer.second=temp;rRTCCON&=~(1<<0);//RTC讀寫禁止,BCD時(shí)鐘、計(jì)數(shù)器、無復(fù)位}voidRTCSetValue(void){u8temp;rRTCCON|=0x01;//RTC讀寫使能,BCD時(shí)鐘、計(jì)數(shù)器、無復(fù)位temp=rtcTimer.year-YEAR_BASE;temp=((temp/10)*16)+(temp%10);rBCDYEAR=temp;temp=rtcTimer.month;temp=((temp/10)*16)+(temp%10);rBCDMON=temp;temp=rtcTimer.day;temp=((temp/10)*16)+(temp%10);rBCDDATE=temp;temp=rtcTimer.weekDay;temp=((temp/10)*16)+(temp%10);rBCDDAY=temp;temp=rtcTimer.hour;temp=((temp/10)*16)+(temp%10);rBCDHOUR=temp;temp=rtcTimer.minute;temp=((temp/10)*16)+(temp%10);rBCDMIN=temp;temp=rtcTimer.second;temp=((temp/10)*16)+(temp%10);rBCDSEC=temp;rRTCCON&=~(1<<0);//RTC讀寫禁止,BCD時(shí)鐘、計(jì)數(shù)器、無復(fù)位}voidRtcSetAlarm(void){u8temp;rRTCCON|=0x01;//RTC讀寫使能,BCD時(shí)鐘、計(jì)數(shù)器、無復(fù)位temp=alarmTimer.year-YEAR_BASE;temp=((temp/10)*16)+(temp%10);rALMYEAR=temp;temp=alarmTimer.month;temp=((temp/10)*16)+(temp%10);rALMMON=temp;temp=alarmTimer.day;temp=((temp/10)*16)+(temp%10);rALMDATE=temp;temp=alarmTimer.hour;temp=((temp/10)*16)+(temp%10);rALMHOUR=temp;temp=alarmTimer.minute;temp=((temp/10)*16)+(temp%10);rALMMIN=temp;temp=alarmTimer.second;temp=((temp/10)*16)+(temp%10);rALMSEC=temp;rRTCALM=0x41;//RTC鬧鐘控制寄存器,啟動(dòng)秒中斷和總中斷rRTCCON&=~(1<<0);//RTC讀寫禁止,BCD時(shí)鐘、計(jì)數(shù)器、無復(fù)位}voidRtcInit(u8tick){rtcTimer.year=2014;rtcTimer.month=10;rtcTimer.day=10;rtcTimer.weekDay=5;rtcTimer.hour=16;rtcTimer.minute=34;rtcTimer.second=52;alarmTimer.year=2014;alarmTimer.month=10;alarmTimer.day=10;alarmTimer.weekDay=5;alarmTimer.hour=16;alarmTimer.minute=34;alarmTimer.second=52;rRTCCON=0x01;rTICNT=(tick&0x7f)|0x80;//使能中斷RTCSetValue();//設(shè)置時(shí)間RtcSetAlarm();//設(shè)置鬧鐘//開啟中斷pISR_RTC=(unsigned)RTC_alarmHandler;pISR_TICK=(unsigned)RTC_tickHandler;//中斷函數(shù)入口地址rSRCPND|=BIT_RTC;//清除源掛起rINTPND|=BIT_RTC;//清除中斷掛起rINTMOD&=~BIT_RTC;//設(shè)置中斷模式為IRQ模式rSRCPND|=BIT_TICK;//清除源掛起rINTPND|=BIT_TICK;//清除中斷掛起rINTMOD&=~BIT_TICK;//設(shè)置中斷模式為IRQ模式rINTMSK&=~BIT_RTC;//開中斷rINTMSK&=~BIT_TICK;//開中斷}

#ifndef__RTC_H#define__RTC_H#include"2440addr.h"#include"def.h"#include"uart0.h"#defineYEAR_BASE2000typedefstructRTC_TIMER{u16year;u8month;u8day;u8weekDay;u8hour;u8minute;u8second;}RTC_TIMER;typedefstructALARM_TIMER{u16year;u8month;u8day;u8weekDay;u8hour;u8minute;u8second;}ALARM_TIMER;externstructRTC_TIMERrtcTimer;voidRTCGetValue(void);voidRTCSetValue(void);voidRtcSetAlarm(void);voidRtcInit(u8tick);#endif


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

  本文根據(jù)網(wǎng)絡(luò)視頻采集的需要,將網(wǎng)絡(luò)傳輸與視頻采集相結(jié)合,設(shè)計(jì)了以S3C2440為核心的USB攝像頭視頻采集和嵌入式Linux系統(tǒng)下的視頻服務(wù)器,從而實(shí)現(xiàn)了遠(yuǎn)程網(wǎng)絡(luò)視頻信息采集。   

關(guān)鍵字: s3c2440 視頻采集 usb攝像頭

         之前在提起自動(dòng)化或是智能化時(shí),人們會(huì)不自覺的想到工業(yè)生產(chǎn),這是因?yàn)樽詣?dòng)化這個(gè)字眼進(jìn)入中國,確實(shí)是以工業(yè)

關(guān)鍵字: 嵌入式 Linux s3c2440 視頻采集

  引言   隨著科技的不斷發(fā)展,以數(shù)據(jù)業(yè)務(wù)為主的固定寬帶無線接入技術(shù)發(fā)展已經(jīng)很成熟,而移動(dòng)寬帶無線通信技術(shù)還并沒有得到廣泛的應(yīng)用。由于移動(dòng)寬帶無線接入系統(tǒng)需要解決帶寬、移動(dòng)性和覆蓋范圍

關(guān)鍵字: IPv6 s3c2440 x86 架構(gòu)

  2016年2月26日,德國慕尼黑和西班牙巴塞羅那訊——贏得消費(fèi)者的信任對于智能移動(dòng)設(shè)備支付解決方案至關(guān)重要。作為全球最大的安全芯片供應(yīng)商之一,英飛凌科技股份公司(FS

關(guān)鍵字: rtc 機(jī)器人 rx8010sj

  1 引言   人們生活水平的提高以及科技的進(jìn)步,特別是計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和通信技術(shù)的發(fā)展,智能家居將慢慢成為未來家居生活的發(fā)展方向。1984年在美國誕生了世界上第一座智能家居建筑,

關(guān)鍵字: boa nrf24l01 s3c2440 智能家居

博主使用的是天嵌的開發(fā)板型號(hào)IMX6Q_coreC。1.發(fā)現(xiàn)使用開發(fā)板是時(shí)間總是被設(shè)置為2028年6月18日3時(shí)41分,一開始以為是底層驅(qū)動(dòng)的問題, 故去底層加打印信息調(diào)試。2.發(fā)現(xiàn)在系統(tǒng)內(nèi)hwclo

關(guān)鍵字: Linux rtc

我們知道2440開發(fā)流程為:移植uboot--》移植內(nèi)核---》掛接根文件系統(tǒng)。我們移植完內(nèi)核需要掛接根文件系統(tǒng),那么首先我們必須擁有根文件系統(tǒng)。如何來制作我們的根文件系統(tǒng)呢?第一步:在linux下建

關(guān)鍵字: s3c2440 根文件系統(tǒng)

1.TQ2440u-boot-1.1.6修改文件所在的路徑是u-boot-1.1.6includeconfigsEmbedSky.h將#defineLCD_TFTxxx(LCD類型)W353.5寸TFT4802724.3...

關(guān)鍵字: s3c2440 lcd參數(shù)

2440的晶振頻率為12MHZ,有兩個(gè)PLL:MPLL和UPLL,其中MPLL產(chǎn)生FCLK、HCLK、PCLK;UPLL產(chǎn)生UCLK。FCLK為ARM核提供時(shí)鐘,HCLK為AHB總線時(shí)鐘,PCLK為APB總線時(shí)鐘,UCL...

關(guān)鍵字: s3c2440 時(shí)鐘初始化

開發(fā)板:TQ2440內(nèi)核:Linux 2.6.32PC OS:Ubuntu 11.041.配置內(nèi)核打開I2C功能:打開雜項(xiàng)設(shè)備,該選項(xiàng)打開后,EEPROM也就打開了。2. 修改代碼修改文件: linux/arch/arm...

關(guān)鍵字: at24c02 eeprom s3c2440 移植 linux驅(qū)動(dòng)
關(guān)閉