OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10023|回复: 2

RTC显示问题

[复制链接]

14

主题

101

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
493
金钱
493
注册时间
2011-9-6
在线时间
3 小时
发表于 2011-9-28 14:35:25 | 显示全部楼层 |阅读模式
如何实现RTC实时显示而由不会影响其他程序执行? 我试过几种方法都不行

1 将LCD显示实时时间的程序创建一个显示程序Display_RTC(); ,然后在主程序中直接调用.
2 方法同上 在调用显示程序时如下: while(1){Display_RTC();  };
3 将显示程序Display_RTC(); 直接添加到 rtc.c文件中,然后通过中断函数调用,例如:
    void RTC_IRQHandler(void)
{          
 if(RTC->CRL&0x0001)//秒钟中断
 {       
  RTC_Get();//更新时间
  Display_RTC();  
  }
.......
}

以上方法都出现刷屏的现象,可以看见时间在更新,基本上1秒刷一次屏幕.
利用RTC实验里面显示那样的方法(在main函数里面用 while(1){if(t!=timer.sec)......} )显示时间一切正常,请问大家有没有好的方法,谢谢!

事无巨细 循序渐进
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165354
金钱
165354
注册时间
2010-12-1
在线时间
2109 小时
发表于 2011-9-28 16:28:18 | 显示全部楼层
在中断里面显示是比较好的方法了.
应该不会刷屏,除非你的display_rtc写得太烂了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

14

主题

101

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
493
金钱
493
注册时间
2011-9-6
在线时间
3 小时
 楼主| 发表于 2011-9-28 17:40:32 | 显示全部楼层
原子哥:
我是直接将RTC实验里面显示时间的程序COPY过去简单修改了下,难道是我修改的问题,自己再慢慢看下子....
事无巨细 循序渐进
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-28 18:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表