OpenEdv-开源电子网

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

关于stm8L的RTC时钟源设置

查看数: 7200 | 评论数: 21 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-3-3 20:57

正文摘要:

本帖最后由 aouwen 于 2017-3-4 15:11 编辑 我想问问stm8L的LSE作为RTC时钟源,预分频寄存器在哪?我找不到 目的是一个PREDIV_S和PREDIV_A分别是256跟128,两个加起来分频就是32768.

回复

aouwen 发表于 2017-3-8 20:21:36
fankai 发表于 2017-3-7 15:27
你要是精度要求特别高,又不能后期通过网络,蓝牙等方式,校准时间,只能出厂的时候,每个单片机都要校准 ...

可以通过网络,就是一两天,或者一个月之内时钟一定要准。
fankai 发表于 2017-3-7 15:27:23
aouwen 发表于 2017-3-7 11:26
主要是定时唤醒,需要一定的精度。

你要是精度要求特别高,又不能后期通过网络,蓝牙等方式,校准时间,只能出厂的时候,每个单片机都要校准,达到要求了
aouwen 发表于 2017-3-7 11:26:51
fankai 发表于 2017-3-6 20:05
我用过LSI,是周期唤醒MCU,周期确定之后,误差不累积的,每次的误差固定,你的例程一晚上差太多了,LSI ...

主要是定时唤醒,需要一定的精度。
fankai 发表于 2017-3-6 20:05:05
aouwen 发表于 2017-3-6 17:00
LSI你觉得精度可以吗?我用他提供的例程,一晚误差4个小时,不知道是例程有问题还是,我用的有问题。

我用过LSI,是周期唤醒MCU,周期确定之后,误差不累积的,每次的误差固定,你的例程一晚上差太多了,LSI估计不能用,你RTC用来干嘛啊,就是显示时间吗?这样的话,得精确一些才行,能不能定期校准,或者用LSE
aouwen 发表于 2017-3-6 17:00:39
fankai 发表于 2017-3-6 14:18
那就是说,现在无法使用LSE了,你产品硬件确定了,还是现在试验?你要是硬件都确定了,那就没法改了,可 ...

LSI你觉得精度可以吗?我用他提供的例程,一晚误差4个小时,不知道是例程有问题还是,我用的有问题。
fankai 发表于 2017-3-6 14:18:23
aouwen 发表于 2017-3-6 14:02
LSI就是误差很大,其他没什么。刚刚跟硬件沟通了一下,发现板子买回来的时候就是没有外部晶振的。

那就是说,现在无法使用LSE了,你产品硬件确定了,还是现在试验?你要是硬件都确定了,那就没法改了,可以试试HSI,这个精度还可以,那你得慢慢调试了,两个分频系数,直到满足你的误差,其实无论用什么晶振,每天累计下来都会有误差,LSE的话,每天几秒钟,如果有校准的话就好了,定期校准一下
aouwen 发表于 2017-3-6 14:02:50
fankai 发表于 2017-3-6 13:52
LSE的话,首先看看 硬件连接是不是正确,然后用示波器测一下,晶振有没有起振,只有晶振工作正常,才可以 ...

LSI就是误差很大,其他没什么。刚刚跟硬件沟通了一下,发现板子买回来的时候就是没有外部晶振的。
fankai 发表于 2017-3-6 13:52:41
aouwen 发表于 2017-3-6 11:36
大神,我试了一下,发现确实是LSE的问题。怎么解决?

LSE的话,首先看看 硬件连接是不是正确,然后用示波器测一下,晶振有没有起振,只有晶振工作正常,才可以
另外,你可以先改成LSI,看看你的程序有没有问题
aouwen 发表于 2017-3-6 11:36:41
fankai 发表于 2017-3-4 11:34
32768/(127+1)/(255+1) = 1hz
跑不起来,看看LSE的问题

大神,我试了一下,发现确实是LSE的问题。怎么解决?
aouwen 发表于 2017-3-4 15:03:29
本帖最后由 aouwen 于 2017-3-4 15:04 编辑

C:\Users\Administrator\Desktop
aouwen 发表于 2017-3-4 15:02:12
fankai 发表于 2017-3-4 11:34
32768/(127+1)/(255+1) = 1hz
跑不起来,看看LSE的问题

可能是程序里有个写保护的代码,现在板子烧不进去,有办法解决吗?
aouwen 发表于 2017-3-4 11:34:42
fankai 发表于 2017-3-4 09:53
预分频在前面啊

你好代码我用图片切出来了,能不能帮忙看一下,我是先使能LSE时钟,然后再打开RTC时钟一分频,最后再进行内部分频
aouwen 发表于 2017-3-4 11:24:44
fankai 发表于 2017-3-4 09:53
预分频在前面啊

谢谢,我找到了。你的意思是先写127 跟255再预分频吗?我找到这两个寄存器了,可是跑不起来
fankai 发表于 2017-3-4 09:53:04
本帖最后由 fankai 于 2017-3-4 09:55 编辑

预分频在前面啊

205600q1z8zjuxeuw1ggaw.png (89.29 KB, 下载次数: 257)

205600q1z8zjuxeuw1ggaw.png
aouwen 发表于 2017-3-3 21:30:04
原子哥不来我就不走了
aouwen 发表于 2017-3-3 21:19:24
卧等可恶的六字限制
aouwen 发表于 2017-3-3 21:18:58
躺着等
aouwen 发表于 2017-3-3 21:17:31
坐等原子哥
aouwen 发表于 2017-3-3 21:17:12
顶顶可恶的六字限制
aouwen 发表于 2017-3-3 20:58:18
自顶向上
fankai 发表于 2017-3-3 20:57:47
aouwen 发表于 2017-3-4 11:24
谢谢,我找到了。你的意思是先写127 跟255再预分频吗?我找到这两个寄存器了,可是跑不起来

32768/(127+1)/(255+1) = 1hz
跑不起来,看看LSE的问题

QQ截图20170304113357.png (16.03 KB, 下载次数: 244)

QQ截图20170304113357.png


关闭

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

正点原子公众号

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

GMT+8, 2026-3-4 21:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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