神农鼎 发表于 2023-1-15 21:41:25

认真学习下 STC32G12K128 实验箱 RTC的程序

第81个演示程序,是 RTC 的演示程序

神农鼎 发表于 2023-1-15 21:45:29

RTC程序中选择的是外部32768时钟振荡器起振,你如外部挂的是 11.0592MHz, 那晶振起振出问题正常



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


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

丽江春水 发表于 2023-1-16 15:41:25

这个倒不是,我原来的计划是外接11M晶振,提高测量频率的精度,弄个内部RTC时钟,再接个GPS校时模块,对时钟进行定期校准,现在看来RTC内部时钟源是为唤醒MCU准备的,不适合当做时钟用。我基本明白问题在哪了,我用核心板接外时钟,本身晶振到芯片的线路就比较长了,再加个插座,用洞洞板实现。这个距离不合理。所以不能起振。等年后买个裸芯片试试,或者有希望。(困为实验还想用洞洞板,所以到时不能起振也是可能的。)

神农鼎 发表于 2023-1-16 15:58:23

实验还想用洞洞板===STC32G12K128, STC8H8K64U 都有PDIP40
http://www.stcaimcu.com/data/attachment/forum/202212/08/214302i2ug6lguc9bie369.png

http://www.stcaimcu.com/data/attachment/forum/202212/08/214648zhwhqereyz2cherq.png

丽江春水 发表于 2023-1-16 19:10:52

现在店家不发货了。要等年后才能拿到芯片。安心过年了。

丽江春水 发表于 2023-1-18 11:47:04

开启内部RTC多次都没成功,感觉没道理,于是查找自己的问题,我用了两个不同的板子,一个是DIP40自己接的系统,一个是降龙棍核心板。共同点在于都使用了硬件SPI串口屏。于是我又做了一个板,使用并口屏。结果把数据手册上的例程复制过来。就成功开启了内部RTC时钟。前面的失败不知是不是因为硬件SPI与RTC时钟源有冲突的地方。请其它朋友们有机会验证一下吧,我累了。不弄这个了。

神农鼎 发表于 2023-1-18 11:49:45

结果把数据手册上的例程复制过来。就成功开启了内部RTC时钟
====程序对了,RTC时钟就成功启动了,贡献,进步 !!!
====几十万人看的数据手册,还是比较专业的

丽江春水 发表于 2023-1-18 13:24:44

想起来一个事,数据手册上有个小失误
RTCCFG |= 0x01; //触发 RTC 寄存器初始化
while(RTCCFG & 0x01); //等待初始化完成,需要在 "RTC 使能" 之后判断.
上面的语句明明写的是要在RTC使能后进行判断,但位置却在使能之前,当然这不是大事,懂的朋友改过来就行了。

神农鼎 发表于 2023-1-18 13:31:09

丽江春水 发表于 2023-1-18 13:24
想起来一个事,数据手册上有个小失误
RTCCFG |= 0x01; //触发 RTC 寄存器初始化
while(RTCCFG & 0x01); / ...


丽江春水 发表于 2023-1-20 18:25:18

本帖最后由 丽江春水 于 2023-1-20 21:20 编辑

开启内部RTC时钟和使用外部晶振都成功了,之前不行的原因在于自己的程序有问题,开始以为是硬件SPI冲突,结果换成软件模拟SPI,还是不行,最后把程序全删掉,用别的能开RTC时钟的程序复制过来,改造成自己需要的程序。结果内部时钟打开了。外晶振也开了,至于自己的程序到底哪里有错,还是没找到。可能程序行了,但用STC-USB Link1D仿真时,由于不会玩,所以把自己搞糊涂了。新人之路曲折。
外部32K时钟也打开了。所谓一通百通,程序都正常用了,只是还是不知道当初的错在哪里,可能只是没学会stc-usb link1d就急着去用,结果迷路了,现在玩的比较熟悉,感觉方便很多。谢谢各位老师的指导。
页: 1 2 [3] 4
查看完整版本: 想用STC32g12k128显示实时时钟,求教