OpenEdv-开源电子网

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

STM32 RTC

[复制链接]

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
发表于 2012-7-6 08:41:24 | 显示全部楼层 |阅读模式
请问STM32的RTC时间走错了能自己对时吗?怎么对啊!
努力?奋斗
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-7-6 09:17:58 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-7-6 13:41:43 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
RTC晶振有时起振有时不起振怎么解决啊!
努力?奋斗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-7-6 14:01:22 | 显示全部楼层
这个STM32 RTC本身的问题,换过一个晶振(6pf负载电容)试试.或者外壳接地试试.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-7-19 09:40:07 | 显示全部楼层
可以了啊!我换了个兼容15PF的晶振。
努力?奋斗
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-8-13 17:09:22 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
晶振可以起振了,但是一加上实时时钟,就有这样的问题:
上电后程序没跑起来,需要多次上电或者按复位按钮,不知道哪里的原因
努力?奋斗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-13 20:13:48 | 显示全部楼层
就是难起振...
换晶振...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-8-13 21:08:53 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
可是上电之后,我用示波器看32768的晶振确实振起来了啊
努力?奋斗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-13 22:30:36 | 显示全部楼层
震起来了,就不会出现程序不跑的情况...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-8-14 19:26:19 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
可是上电之后我用示波器量晶振确实振起来了啊!确实是32.768KHZ。我没有按后备电池,初始化步骤就是复制不完全手册上的,这有影响吗?
只要加入实时时钟程序上电复位就有问题,复位按钮没问题啊
去了实时时钟程序就很正常啊! 
努力?奋斗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-14 21:35:33 | 显示全部楼层
这个得用jtag跟踪下,看看是死在哪里了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-8-14 21:55:30 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
用JTAG就不会出现死机,只要是上电后复位一下就跑起来了,JTAG在线仿真也没有出现死机的现象。
只有断电后,上电就会有时死机,是随机性的。
努力?奋斗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-14 22:59:44 | 显示全部楼层
用printf观察.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-8-15 10:34:25 | 显示全部楼层
问题就出在RTC初始化中,我现在就用的是<<例说STM32>>中的初始化函数,我加了几句printf来检测:
 RCC->BDCR|=1<<0;         //开启外部低速振荡器
 printf("init");
 while((!(RCC->BDCR&0X02))&&temp<250)//等待外部时钟就绪 
     {
      temp++;
       delay_ms(10);     //经我测试这个延时加的话复位之后程序也跑不起来
      };
   if(temp>=250)
   printf("error");

发现问题:
上电后输出:
initerror  就死了
当我按下复位键后同样也输出:niterror可是程序就跑起来了。
上电后我测晶振都震起来了。
努力?奋斗
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-8-15 10:35:45 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
这是我测试的结果。原子大哥帮忙分析一下,谢啦
努力?奋斗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-15 10:50:28 | 显示全部楼层
这里是外部时钟未就绪.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-8-15 11:06:56 | 显示全部楼层
回复【16楼】正点原子:
---------------------------------
那怎么解决啊 !为什么按复位键就可以就绪了吗
努力?奋斗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-15 12:50:19 | 显示全部楼层
你直接下载我们的RTC实验,测试一下是否也是同样的问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-8-15 13:07:10 | 显示全部楼层
回复【18楼】正点原子:
---------------------------------
我用的就是《例说STM32》光盘中带的RTC初始化程序
努力?奋斗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-15 14:13:04 | 显示全部楼层
用开发板的资料试试.
例说的资料可能有点老.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-8-15 15:02:09 | 显示全部楼层
回复【20楼】正点原子:
---------------------------------
单独的RTC实验还没发现这样的问题,可是我加入到自己的工程,复制粘贴来的RTC初始化程序,就会卡在外部时钟就绪那,郁闷死啦
努力?奋斗
回复 支持 反对

使用道具 举报

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
 楼主| 发表于 2012-8-15 16:02:18 | 显示全部楼层
我将RTC初始化的函数放在其它外设初始化函数的前面,解决了这问题,就是不明白什么原因啊!
努力?奋斗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-15 17:18:35 | 显示全部楼层
说明其他外设的配置影响到了RTC.具体要慢慢查原因了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

17

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2014-2-18
在线时间
29 小时
发表于 2014-8-9 22:01:26 | 显示全部楼层
原子哥,我把开发板的RTC的程序下载到最小系统上也同样出现程序卡在外部时钟就绪那,用示波器测了晶振确实有在震,一直都没有找到解决的办法,原子哥,能否帮我解决一下这个问题,谢谢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-9 22:59:11 | 显示全部楼层
回复【24楼】zhangyuju:
---------------------------------
这个你示波器测量靠谱么?
如果卡在等待外部时钟就绪,就说明RTC是没有起震的.
STM32的RTC本来就难起震.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

17

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2014-2-18
在线时间
29 小时
发表于 2014-8-9 23:03:07 | 显示全部楼层
回复【25楼】正点原子:
---------------------------------
还行吧,一直等到函数的返回值为1,结果导致仿真时仿真不了,郁闷啊
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-4 08:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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