[STM32F0] 怎么通过程序自身判定外部时钟有没有启振

[复制链接]
1695|4
 楼主| donsbin 发表于 2017-6-18 17:24 | 显示全部楼层 |阅读模式
用了STM32的外部低速时钟做RTC时钟源,发现经常出现时钟不走的情况。
开启LSE时钟,程序里等待LSE稳定也是能通过的。
  1. /* Enable the LSE OSC */
  2.     RCC_LSEConfig(RCC_LSE_ON);
  3.     /* Wait till LSE is ready */  
  4.     while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);
现在也出现待机一段时间RTC又不走了,现在想到的方法是通过程序判断时钟异常的,直接使用启用内部时钟LSI。
头痛,不知道怎么搞
huzi2099 发表于 2017-6-18 22:59 | 显示全部楼层
找找原因吧,可能是配的电容不合适,这种问题没必要软件处理,如果不起振软件也没有办法解决。
 楼主| donsbin 发表于 2017-6-19 09:35 | 显示全部楼层
目前这批硬件是没法动了,只能通过软件来想法子解决一下了
东方教主 发表于 2017-6-19 10:07 | 显示全部楼层
板子晶振与单片机走线的距离、劣质的晶振 电容有问题会出现这种情况,另外环境温湿度都会引起时钟停震。这个很不可靠。
推荐在while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);做超时,超时退出后再启用内部LSI时钟源。
 楼主| donsbin 发表于 2017-6-19 18:06 | 显示全部楼层
东方教主 发表于 2017-6-19 10:07
板子晶振与单片机走线的距离、劣质的晶振 电容有问题会出现这种情况,另外环境温湿度都会引起时钟停震。这 ...

准备该供应商了!这批出去的没办法了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:思亘七险,点落九宫,神游八极,纵横十方。

20

主题

96

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部