找回密码
 立即注册
楼主: 丽江春水

想用STC32g12k128显示实时时钟,求教

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-05-03 10:05:34

718

主题

1万

回帖

1万

积分

管理员

积分
15648
发表于 2023-1-15 21:41:25 | 显示全部楼层
认真学习下 STC32G12K128 实验箱 RTC的程序
1.png
第81个演示程序,是 RTC 的演示程序
2.png
  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-05-03 10:05:34

718

主题

1万

回帖

1万

积分

管理员

积分
15648
发表于 2023-1-15 21:45:29 | 显示全部楼层
RTC程序中选择的是外部32768时钟振荡器起振,你如外部挂的是 11.0592MHz, 那晶振起振出问题正常
1.png

1.png
选错了,或 焊错了,不起振,是正常的
低频是低频的起振电路,高频是高频的起振电路,这是科学,不是玄学


根据你的描述,你想外部 32768晶振,结果你焊成了11M的晶振,你认真排查下

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

669

积分

高级会员

积分
669
发表于 2023-1-16 15:41:25 | 显示全部楼层
这个倒不是,我原来的计划是外接11M晶振,提高测量频率的精度,弄个内部RTC时钟,再接个GPS校时模块,对时钟进行定期校准,现在看来RTC内部时钟源是为唤醒MCU准备的,不适合当做时钟用。我基本明白问题在哪了,我用核心板接外时钟,本身晶振到芯片的线路就比较长了,再加个插座,用洞洞板实现。这个距离不合理。所以不能起振。等年后买个裸芯片试试,或者有希望。(困为实验还想用洞洞板,所以到时不能起振也是可能的。)
  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-05-03 10:05:34

718

主题

1万

回帖

1万

积分

管理员

积分
15648
发表于 2023-1-16 15:58:23 | 显示全部楼层
实验还想用洞洞板===STC32G12K128, STC8H8K64U 都有PDIP40



  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

669

积分

高级会员

积分
669
发表于 2023-1-16 19:10:52 | 显示全部楼层
现在店家不发货了。要等年后才能拿到芯片。安心过年了。
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

669

积分

高级会员

积分
669
发表于 2023-1-18 11:47:04 | 显示全部楼层
开启内部RTC多次都没成功,感觉没道理,于是查找自己的问题,我用了两个不同的板子,一个是DIP40自己接的系统,一个是降龙棍核心板。共同点在于都使用了硬件SPI串口屏。于是我又做了一个板,使用并口屏。结果把数据手册上的例程复制过来。就成功开启了内部RTC时钟。前面的失败不知是不是因为硬件SPI与RTC时钟源有冲突的地方。请其它朋友们有机会验证一下吧,我累了。不弄这个了。
  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-05-03 10:05:34

718

主题

1万

回帖

1万

积分

管理员

积分
15648
发表于 2023-1-18 11:49:45 | 显示全部楼层
结果把数据手册上的例程复制过来。就成功开启了内部RTC时钟
====程序对了,RTC时钟就成功启动了,贡献,进步 !!!
====几十万人看的数据手册,还是比较专业的
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

669

积分

高级会员

积分
669
发表于 2023-1-18 13:24:44 | 显示全部楼层
想起来一个事,数据手册上有个小失误
RTCCFG |= 0x01; //触发 RTC 寄存器初始化
while(RTCCFG & 0x01); //等待初始化完成,需要在 "RTC 使能" 之后判断.
上面的语句明明写的是要在RTC使能后进行判断,但位置却在使能之前,当然这不是大事,懂的朋友改过来就行了。
  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-05-03 10:05:34

718

主题

1万

回帖

1万

积分

管理员

积分
15648
发表于 2023-1-18 13:31:09 | 显示全部楼层
丽江*** 发表于 2023-1-18 13:24
想起来一个事,数据手册上有个小失误
RTCCFG |= 0x01; //触发 RTC 寄存器初始化
while(RTCCFG & 0x01); / ...

1.png
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

669

积分

高级会员

积分
669
发表于 2023-1-20 18:25:18 | 显示全部楼层
本帖最后由 丽江春水 于 2023-1-20 21:20 编辑

开启内部RTC时钟和使用外部晶振都成功了,之前不行的原因在于自己的程序有问题,开始以为是硬件SPI冲突,结果换成软件模拟SPI,还是不行,最后把程序全删掉,用别的能开RTC时钟的程序复制过来,改造成自己需要的程序。结果内部时钟打开了。外晶振也开了,至于自己的程序到底哪里有错,还是没找到。可能程序行了,但用STC-USB Link1D仿真时,由于不会玩,所以把自己搞糊涂了。新人之路曲折。
外部32K时钟也打开了。所谓一通百通,程序都正常用了,只是还是不知道当初的错在哪里,可能只是没学会stc-usb link1d就急着去用,结果迷路了,现在玩的比较熟悉,感觉方便很多。谢谢各位老师的指导。
clock.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-4 04:13 , Processed in 0.162686 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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