75|0

118

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【MCXN947开发板测评】RTC时间校正与计时 [复制链接]

前面曾介绍过RTC及其计时,但再好的时钟也难保永远准时,因此时间校正就必不可少。

这里就利用触摸键和ISP键实现了对RTC时间校正及计时显示。

其中,触摸键用于设置的选取,ISP键用于确认。

void szsz()
{
     uint8_t i=0;
	 uint8_t sf,st;
	 LCD_Clear(WHITE);
	 show_tbh(100,220,5);
	 BACK_COLOR=WHITE;
	 POINT_COLOR=RED;
	 LCD_ShowStringh(100,200,"Set RTC");
	 LCD_ShowStringh(130,200,"08:09:00");
     sf=200;
	 i=8;	
	 st=3;
	 showhanzi16h(150,200,27,1);
	 while(st>0)	
	 {
		BACK_COLOR=WHITE;
	    POINT_COLOR=RED;
		while((GPIO_PinRead(GPIO0, 6U))==1)
        {
		    if(f==1)
			{
		        if(i<60) 
		        {
			         i++; 
			         LCD_ShowCharh(130,sf,i/10+'0',0);
		             LCD_ShowCharh(130,sf-8,i%10+'0',0);
		        }
				f=0;
  	      }	
          delay();
    }
		
    if(st==3)
	{
		sy = (i/10)*0x10+(i%10);
		showhanzi16h(150,200,28,1);
		showhanzi16h(150,176,27,1);
		i=9;	
		sf=176;
	}
	if(st==2)
	{
		sm = (i/10)*0x10+(i%10); 
		showhanzi16h(150,176,28,1);
		showhanzi16h(150,152,27,1);
		i=30;
		sf=152;
	}
	if(st==1)
	{
	    sd = (i/10)*0x10+(i%10);
	    showhanzi16h(150,152,28,1);
	}
	delay();
	st--;
  }
  rtc_setup();
}

 

使用该函数进行RTC调整的界面如图1所示,在设置数值时,每完成一个设置其指示标记就向前移动一次。

 

图1 调整RTC

 

实现RTC计时显示效果的函数为:

void dzsz()
{
	LCD_Clear(WHITE);
	show_tbh(100,220,2);
    BACK_COLOR=WHITE;
	POINT_COLOR=RED;
	LCD_ShowStringh(100,180,"RTC");
	while((GPIO_PinRead(GPIO0, 6U))==1)
    {
        IRTC_GetDatetime(RTC, &datetimeGet);
	 	LCD_ShowCharh(120,180,datetimeGet.hour/10+'0',0);
		LCD_ShowCharh(120,170,datetimeGet.hour%10+'0',0);
	  	LCD_ShowCharh(120,160,':',1);
	  	LCD_ShowCharh(120,150,datetimeGet.minute/10+'0',0);
		LCD_ShowCharh(120,140,smdatetimeGet.minute%10+'0',0);
	  	LCD_ShowCharh(120,130,':',1);
	  	LCD_ShowCharh(120,120,datetimeGet.second/10+'0',0);
	  	LCD_ShowCharh(120,110,datetimeGet.second%10+'0',0);
		delay();
	}
}

 

该函数的计时效果如图2所示,这样就使RTC调整与计时合成到了一起。

 

图2  RTC计时

 

此帖出自NXP MCU论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表