OpenEdv-开源电子网

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

STM32F407板的RTC实时时钟显示实验,时间显示问题

[复制链接]

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2023-7-20
在线时间
17 小时
发表于 2023-9-7 10:49:08 | 显示全部楼层 |阅读模式
1金钱
将正点原子源码下载到开发板,显示时间如下图,请问日期和时间为什么显示2020-04-01和14:00:22,程序中没有定义这个时间,那开发板是根据什么的时间来显示的。程序中(t%10)==0代表每100ms更新一次,100ms是怎么计算出来的。小白一枚,请多多指教!
fd0dcff8135ec0f76df779765fc21a6.png
c266613a18dd33b1ba1cf432f532002.png

最佳答案

查看完整内容[请看2#楼]

中文参考手册中有该寄存器的介绍,它是由硬件控制的,程序只读取就行, 就像用定时器的时候也没叫你用代码去对计数器加一,它自己就定时加一了。 就像外接了一个RTC芯片,知道怎么用就行。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8461
金钱
8461
注册时间
2020-5-11
在线时间
3904 小时
发表于 2023-9-7 10:49:09 | 显示全部楼层
dadq 发表于 2023-9-7 13:46
t%10这个问题已经懂了,RTC_GetTime和RTC_GetDate分别读取RTC_TR和RTC_DR寄存器的值,keil仿真时显示的就 ...

中文参考手册中有该寄存器的介绍,它是由硬件控制的,程序只读取就行,
就像用定时器的时候也没叫你用代码去对计数器加一,它自己就定时加一了。
就像外接了一个RTC芯片,知道怎么用就行。
傲游截图20230907140057.jpg
专治疑难杂症
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8461
金钱
8461
注册时间
2020-5-11
在线时间
3904 小时
发表于 2023-9-7 11:00:55 | 显示全部楼层
你看RTC_GetTime做了什么。
while(1)里有delay_ms(10),就相当于10ms一次循环,t++就是每10ms加1,
t%10结果为0~9,(t%10)==0就是10次循环有一次成立,那就是100ms的周期。
专治疑难杂症
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2023-7-20
在线时间
17 小时
 楼主| 发表于 2023-9-7 13:46:50 | 显示全部楼层
LcwSwust 发表于 2023-9-7 11:00
你看RTC_GetTime做了什么。
while(1)里有delay_ms(10),就相当于10ms一次循环,t++就是每10ms加1,
t%10结 ...

t%10这个问题已经懂了,RTC_GetTime和RTC_GetDate分别读取RTC_TR和RTC_DR寄存器的值,keil仿真时显示的就是LCD屏上的数值,请问寄存器是怎么被赋值的,我在watch1窗口修改数值不管用。先谢谢大神的解答啦
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2023-7-20
在线时间
17 小时
 楼主| 发表于 2023-9-8 13:34:37 | 显示全部楼层
LcwSwust 发表于 2023-9-7 14:04
中文参考手册中有该寄存器的介绍,它是由硬件控制的,程序只读取就行,
就像用定时器的时候也没叫你用代 ...

谢谢大神的解答,非常详细。也就是说LCD屏上的时间是程序从硬件中读取出来的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 05:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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