打印
[STM32F1]

STM32F103 RTC LSI问题

[复制链接]
7056|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
whredmaple|  楼主 | 2014-5-10 17:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 whredmaple 于 2014-5-11 11:46 编辑

连续多次开关机,LSI有时候不起振。50次总会出现1-2次的概率,程序如下:  
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); //使能PWR和BKP外设时钟   
  PWR_BackupAccessCmd(ENABLE); //使能后备寄存器访问
  BKP_DeInit(); //复位备份区域

  RCC_LSICmd(ENABLE);
  while (RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET);   
  delay_ms(5);
  RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); //使用LSI提供RTC时钟
  
  RCC_RTCCLKCmd(ENABLE); //使能RTC时钟  
  RTC_WaitForSynchro();  //等待RTC寄存器同步   
  RTC_WaitForLastTask(); //等待最近一次对RTC寄存器的写操作完成
  RTC_ITConfig(RTC_IT_SEC, ENABLE);  //使能RTC秒中断
  
  RTC_WaitForLastTask(); //等待最近一次对RTC寄存器的写操作完成
  RTC_EnterConfigMode();/// 允许配置
  RTC_SetPrescaler(40000); //设置RTC预分频的值
  RTC_WaitForLastTask(); //等待最近一次对RTC寄存器的写操作完成
  RTC_Set(2008,8,8,8,8,8);  //设置时间
  RTC_ExitConfigMode(); //退出配置模式  
  BKP_WriteBackupRegister(BKP_DR1, 0X5050); //向指定的后备寄存器中写入用户程序数据
沙发
whredmaple|  楼主 | 2014-5-10 17:18 | 只看该作者
本帖最后由 whredmaple 于 2014-5-10 17:24 编辑

如题

使用特权

评论回复
板凳
mmuuss586| | 2014-5-10 18:22 | 只看该作者
改下晶振2端电容,增加复位时间看看。

使用特权

评论回复
地板
icefox225| | 2014-5-11 08:20 | 只看该作者
stm32的rtc是**肋。。。

使用特权

评论回复
5
whredmaple|  楼主 | 2014-5-11 11:08 | 只看该作者
mmuuss586 发表于 2014-5-10 18:22
改下晶振2端电容,增加复位时间看看。

我现在用的是内部晶体,不需要精度,只要他能每次开机正常工作就好,我每次开机关键测试发现他有时候不起振。他是接的内部RC 40Khz ,如果是这个晶体工作不可靠,系统看门狗也是不可靠的。

使用特权

评论回复
6
whredmaple|  楼主 | 2014-5-12 10:10 | 只看该作者
我测试了每次启动采用 128分频的方式,多次连续开关机,发现也会出现RTC不启动的情况,1/20的概率。ST以前搞的STR9这个地方就很失败,现在的RTC部分一样不可靠

使用特权

评论回复
7
guangbiao| | 2014-5-12 10:28 | 只看该作者
LSI上电后就配置嘛,和HSE一起配置,在应用程序中想用就直接用啦。
我的LSI是按以上方法操作得,给独立看门狗用,之前测试过几次看门狗溢出周期,没发现啥问题。
如果LSI真不振了,呵呵,最多看门狗没啦,不影响其他(我的RTC用外部晶振)。

使用特权

评论回复
8
whredmaple|  楼主 | 2014-5-12 10:52 | 只看该作者
这样子配置的,先配置主时钟,后配置 RTC LSI,只是发现有时候他开机是起来的,概率吧 1/50, 然后修改成1/128分频方式,发现也有这个问题,1/20,要是出1000台机器,这个就是必然故障。

使用特权

评论回复
9
whredmaple|  楼主 | 2014-5-15 09:27 | 只看该作者
看起来RTC功能真的没有解决办法。不可能可靠工作。

使用特权

评论回复
10
ar3000a| | 2014-5-30 18:35 | 只看该作者
中航的led控制卡以前用了个很贵的那种长方四角晶振,现在看淘宝卖的也改普通圆柱体的了。不知他们怎么解决的。

使用特权

评论回复
11
yinhaix| | 2015-5-14 16:57 | 只看该作者
stm32的rtc是**肋?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

69

帖子

0

粉丝