S3C 2440 RTC 实时时钟 (miniarm 2440 )
2010-01-05 23:13
429 查看
rtc.h
rtc.c
测试程序 main.c
#ifndef RTC_H #define RTC_H #include "2440addr.h" //实时时钟 数据 均为BCD编码 typedef struct tag_RtcTime { //year 默认从0x2000开始,如果要设置为2010年 // year 应赋值为0x10; U16 year; char month; char day; char week; char hour; char minite; char second; }RTC_TIME; void RtcSetTime(RTC_TIME rt); RTC_TIME RtcReadTime(void); #endif
rtc.c
#include "rtc.h" void RtcSetTime(RTC_TIME rt) { rRTCCON = 0x01; //使能写 rBCDYEAR = rt.year; rBCDMON = rt.month; rBCDDATE = rt.week; rBCDDAY = rt.day; rBCDHOUR = rt.hour; rBCDSEC = rt.second; rBCDMIN = rt.minite; rRTCCON &=~0x01; } RTC_TIME RtcReadTime(void) { RTC_TIME rt; //.............. return rt; }
测试程序 main.c
#include "uart.h" #include "rtc.h" void delay(U32 tt) { U32 i; for(;tt>0;tt--) { for(i=0;i<10000;i++){} } } int Main(void) { //char buffer[50]={0}; RTC_TIME rt; rt.year=0x10; rt.month=0x01; rt.day=0x05; rt.week=0x02; rt.hour=0x22; rt.second=0x00; rt.minite=0x01; RtcSetTime(rt); UartInit(9600); //rRTCCON = 0x01; //使能写 while(1) { UartSendStr("RTC Test/r/n"); //sprintf(buffer,"%04x-%02x-%02x-%02x-%02x-%02x/r/n", // rBCDYEAR+0x2000,rBCDMON,rBCDDAY,rBCDHOUR,rBCDMIN,rBCDSEC); // UartSendStr(buffer); // UartPrintf("%x/r/n",255); UartPrintf("%04x-%02x-%02x/r/n",rBCDYEAR+0x2000,rBCDMON,rBCDDAY); delay(2000); } return 0; }
相关文章推荐
- s3c2440 RTC(实时时钟) 驱动移植
- ARM-Linux驱动移植--RTC(实时时钟)移植
- 【iCore1S 双核心板_ARM】例程十一:RTC实时时钟实验——显示时间和日期
- ARM-Linux驱动--RTC(实时时钟)驱动分析 .
- 【iCore4 双核心板_ARM】例程十:RTC实时时钟实验——显示时间和日期
- arm接口2之RTC--S3C2440
- S3C 2440 Uart (miniarm 2440 )
- ARM-Linux驱动移植--RTC(实时时钟)移植
- fl2440——RTC(实时时钟)的学习、内核添加RTC支持
- ARM-Linux驱动--RTC(实时时钟)驱动分析
- s3c2440实时时钟中断
- 【原创】ARM LINUX 外部RTC实时时钟驱动移植(RX8025)
- ARM-Linux驱动--RTC(实时时钟)驱动分析
- ARM-Linux驱动移植--RTC(实时时钟)移植
- 实时时钟RTC
- Arm9+linux fl2440 驱动移植之RTC(实时时钟)和USB host
- [原创]RX801SJ 实时时钟RTC调试纪要 : 时钟输出设置
- linux 实时时钟(RTC)驱动【转】
- linux 实时时钟(RTC)驱动
- RTC实时时钟驱动