FL2440无操作系统应用程序编写测试005——RTC
来源:互联网 发布:广联达的三个软件 编辑:程序博客网 时间:2024/05/22 00:46
Date: 9-Nov-2011
By: Calvinlee1984@163.com
1.RTC POWER原理图
2. 实时时钟信号源接线图
3. RTC控制框图
4.寄存器设置
static void RTC_Time_Set( void )
{
//使能RTC读写
rRTCCON = (0x1<<0) ; //RTC read and write enable
//年
rBCDYEAR = 0x11 ; //year
//月
rBCDMON = 0x11 ; //month
//日
rBCDDATE = 0x09 ; //date
//时
rBCDHOUR = 0x21 ; //hour
//分
rBCDMIN = 0x40 ; //minute
//秒
rBCDSEC = 0x23 ; //Second
//禁止RTC读写
rRTCCON &= ~(0x1<<0) ; //RTC read and write disable
}
5.代码分析 RTC.c
#include "2440addr.h"
#include "def.h"
#include "UART.h"
//RTC时间设置
static void RTC_Time_Set( void )
{
//使能RTC读写
rRTCCON = 1 ; //RTC read and write enable
rBCDYEAR = 0x11 ; //年
rBCDMON = 0x11 ; //月
rBCDDATE = 0x09 ; //日
rBCDHOUR = 0x13 ; //小时
rBCDMIN = 0x40 ; //分
rBCDSEC = 0x23 ; //秒
//禁止RTC读写
rRTCCON &= ~1 ; //RTC read and write disable
}
//RTC时间显示
void RTC_Time_Display(void)
{
U16 year ;
U8 month,day,hour, minute, second ;
U8 i,TmpSec=0;
RTC_Time_Set(); //RTC时间设置
while(UART0_GetKey() != ESC_KEY)
{
//使能RTC读写
rRTCCON = 1 ; //RTC read and write enable
//读取时间数据
year = 0x2000+rBCDYEAR ; //年
month = rBCDMON ; //月
day = rBCDDATE ; //日
hour = rBCDHOUR ; //小时
minute = rBCDMIN ; //分
second = rBCDSEC ; //秒
//禁止RTC读写
rRTCCON &= ~1 ; //RTC read and write disable
if(TmpSec!= second) //每秒更新一次
{
//按指定格式将时间数据输出至终端
UART0_Printf( "%04x-%02x-%02x %02x:%02x:%02x", year, month, day, hour, minute, second );
TmpSec = second;
for(i=0;i<19;i++)
UART0_SendChar(BACK_KEY); //覆盖原有显示数据
}
}
}
6. 测试程序及结果
#include "UART.h"
#include "RTC.h"
int Main(void)
{
UART0_Port_Init(115200); //UART0端口初始化
RTC_Time_Display(); //实时时间显示
while(1){
;
}
return 0;
}
- FL2440无操作系统应用程序编写测试005——RTC
- FL2440无操作系统应用程序编写测试002——UART
- FL2440无操作系统应用程序编写测试003——LED
- FL2440无操作系统应用程序编写测试004——PWM_TIMER
- FL2440无操作系统应用程序编写测试006——ADC
- FL2440无操作系统应用程序编写测试010——TFTLCD
- FL2440无操作系统应用程序编写测试011——IIS_AUDIO
- FL2440无操作系统应用程序编写测试012——DMA
- FL2440无操作系统应用程序编写测试001——2440init.s分析修改
- FL2440无操作系统应用程序编写测试008——TOUCH SCREEN
- FL2440无操作系统应用程序编写测试009——WATCHDOG TIMER
- rtc应用程序编写
- fl2440内核移植(二)——RTC移植
- fl2440——RTC(实时时钟)的学习、内核添加RTC支持
- fl2440——DS18B20 驱动编写
- arm+linux fl2440 ds18b20 温度传感器驱动编写及测试
- Linux下fl2440之led驱动编写以及测试
- 基于FL2440的RTC驱动移植
- 为什么要了解mobile GIS
- 一些常用的SQL语句技巧
- Ubuntu下配置ftp Telnet 消去中文乱码http://blog.sina.com.cn/s/blog_674d87000100pwvh.html
- 提高SQL性能
- java反编译工具使用
- FL2440无操作系统应用程序编写测试005——RTC
- 多线程应用中编写安全的信号处理函数
- ABAP中的随机数
- 快速选择下拉列表
- mknod详解
- java android 学习资源网站
- 如何提高sql语句的效率
- wpf hello world学习之路
- HTML入门基础教程