OpenEdv-开源电子网

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

在LCD界面增加时间显示,如何实现秒变化效果

[复制链接]

50

主题

94

帖子

0

精华

高级会员

Rank: 4

积分
556
金钱
556
注册时间
2020-3-6
在线时间
77 小时
发表于 2022-2-16 23:24:17 | 显示全部楼层 |阅读模式
1金钱
想在LCD界面增加时钟显示,并实现秒变化效果,时钟芯片读写显示功能都正常,裸机程序下如何在不打扰正常工作的情况下实现实时变化效果,是不是要每秒进一次中断读时钟芯片再刷新显示?感觉这种方法不太好,毕竟时钟显示不是主要功能,而且频繁进中断也会打扰到其它主线工作运行,不知道有没有什么更好的方法?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

821

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2070
金钱
2070
注册时间
2021-7-17
在线时间
647 小时
发表于 2022-2-17 09:54:54 | 显示全部楼层
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8463
金钱
8463
注册时间
2020-5-11
在线时间
3904 小时
发表于 2022-2-17 10:17:14 | 显示全部楼层
一秒一次也叫"频繁"?
你想在中断服务函数里"刷新显示"?
专治疑难杂症
回复

使用道具 举报

10

主题

778

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6719
金钱
6719
注册时间
2017-4-12
在线时间
1257 小时
发表于 2022-2-17 14:17:29 | 显示全部楼层
线程中处理

static uint8_t last_sec = 0;
uin8_t current_sec = 0;

read_time() ;//>> current_sec

if(last_sec != current_sec)
{
  update ui ;//
  last_sec = current_sec;
}
回复

使用道具 举报

7

主题

82

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1258
金钱
1258
注册时间
2018-6-13
在线时间
141 小时
发表于 2022-2-17 14:23:50 | 显示全部楼层
对显示屏指定坐标位置局部刷新
回复

使用道具 举报

11

主题

2131

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4728
金钱
4728
注册时间
2015-1-10
在线时间
590 小时
发表于 2022-2-17 14:33:13 | 显示全部楼层
项目经验还是太少
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10561
金钱
10561
注册时间
2017-2-18
在线时间
1911 小时
发表于 2022-2-19 16:52:43 | 显示全部楼层
没上系统的话1S的定时器刷新一次时间 ,或者使用定时器查询tick在1S计时到达后刷新一次时间
回复

使用道具 举报

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
263
金钱
263
注册时间
2019-9-22
在线时间
53 小时
发表于 2022-2-22 10:40:57 | 显示全部楼层
裸机程序无非是一个大循环,你在循环中查一次时间,更新一下显示即可,前提是你的程序单次循环while(1)的周期是0.5S以下,否则达不到实时的效果
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 03:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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