OpenEdv-开源电子网

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

请问一个RTC问题,关于晶振起振的

[复制链接]

13

主题

175

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2016-4-30
在线时间
141 小时
发表于 2020-3-9 09:51:28 | 显示全部楼层 |阅读模式
50金钱
                RCC_LSEConfig(RCC_LSE_ON);        //设置外部低速晶振(LSE),使用外设低速晶振
/*                   RTC时钟程序卡在这里过不去,不知道问什么*/
                while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)        //检查指定的RCC标志位设置与否,等待低速晶振就绪


RTC设置晶振,然后等待起振,对大循环来说,等的时间久了,会不会影响其他任务,
如果设置超时,那下一次设置晶振,RCC_LSEConfig(RCC_LSE_ON);        //设置外部低速晶振(LSE),使用外设低速晶振
是不是重新等待起振时间,和第一次的一样长时间,还是加上第一次的时间。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

317

帖子

0

精华

高级会员

Rank: 4

积分
857
金钱
857
注册时间
2015-2-12
在线时间
353 小时
发表于 2020-3-9 10:17:54 | 显示全部楼层
MCU上电复位后,首要的工作是启动晶振,无论选用内部还是外部晶振,选择高速还是低速晶振,均需要等待晶振启振稳定后,方能干其它活,没有系统时钟,MCU就不能工作了。
请检查您的电路,检查您的晶振是否良好,检查晶振配置电容是否匹配。
回复

使用道具 举报

13

主题

175

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2016-4-30
在线时间
141 小时
 楼主| 发表于 2020-3-9 10:19:48 | 显示全部楼层
csmjmcc 发表于 2020-3-9 10:17
MCU上电复位后,首要的工作是启动晶振,无论选用内部还是外部晶振,选择高速还是低速晶振,均需要等待晶振 ...

没有啊,这个是RTC时钟
回复

使用道具 举报

15

主题

317

帖子

0

精华

高级会员

Rank: 4

积分
857
金钱
857
注册时间
2015-2-12
在线时间
353 小时
发表于 2020-3-9 10:26:55 | 显示全部楼层
执迷 发表于 2020-3-9 10:19
没有啊,这个是RTC时钟

哦,误会了。RTC时钟启动一直在等待中,若你的程序是顺序工作的,非操作系统形式,而你有设置看门狗,则狗会动作,使得MCU复位。若你的系统是操作系统形式,视你的程序框架,会去执行其它任务、
回复

使用道具 举报

13

主题

175

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2016-4-30
在线时间
141 小时
 楼主| 发表于 2020-3-9 10:35:50 | 显示全部楼层
csmjmcc 发表于 2020-3-9 10:26
哦,误会了。RTC时钟启动一直在等待中,若你的程序是顺序工作的,非操作系统形式,而你有设置看门狗,则 ...

程序是顺序执行的,等待里面有喂狗,确实会有影响,主要是想怎么解决,超时跳出会不会下次还是不成功,还是下次起振的时间会快一些,也想过用定时器,这样程序的改动就大了,我想大家都在用这种方式,理论上这种方式应该是可行的,还是说大家只是忽略了这种情况
回复

使用道具 举报

15

主题

317

帖子

0

精华

高级会员

Rank: 4

积分
857
金钱
857
注册时间
2015-2-12
在线时间
353 小时
发表于 2020-3-9 10:38:23 | 显示全部楼层
执迷 发表于 2020-3-9 10:35
程序是顺序执行的,等待里面有喂狗,确实会有影响,主要是想怎么解决,超时跳出会不会下次还是不成功,还 ...

硬件着手吧,既然要使用它,就要它完好。检查匹配电容和晶振本身。可以试着把匹配电容全去掉或者去掉一个看看。
回复

使用道具 举报

13

主题

175

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2016-4-30
在线时间
141 小时
 楼主| 发表于 2020-3-9 10:41:28 | 显示全部楼层
csmjmcc 发表于 2020-3-9 10:38
硬件着手吧,既然要使用它,就要它完好。检查匹配电容和晶振本身。可以试着把匹配电容全去掉或者去掉一个 ...

硬件之前是做过很多调整的,主要是最后是能起振的,这样就麻烦了,毕竟不是自己做着玩,扯皮还是很累的
回复

使用道具 举报

15

主题

317

帖子

0

精华

高级会员

Rank: 4

积分
857
金钱
857
注册时间
2015-2-12
在线时间
353 小时
发表于 2020-3-9 10:49:00 | 显示全部楼层
执迷 发表于 2020-3-9 10:41
硬件之前是做过很多调整的,主要是最后是能起振的,这样就麻烦了,毕竟不是自己做着玩,扯皮还是很累的

又要马儿跑,又不让吃草?
那就做个延时计数器,到一定时间跳出吧。
回复

使用道具 举报

0

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2020-3-8
在线时间
7 小时
发表于 2020-3-9 22:17:34 | 显示全部楼层
那你就用if咯,把其他可以干的事干完再来查一下标志位,查到晶振启动了再把rtc相关的业务启动
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-22 03:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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