stm32 时钟不保存
时间: 2023-06-06 15:02:26 浏览: 213
STM32时钟不保存的原因可能有以下几个方面:
第一、电压不稳定。这个问题很常见,当电源电压不稳定,可能导致系统时钟不稳定,严重时可能会使系统时钟完全丧失。因此在设计STM32系统时,要考虑电源的质量,保证电压的稳定性。
第二、复位电路设计不当。当STM32芯片在运行时出现异常,或由于电压等因素使芯片断电,复位电路应能清楚地将系统时钟复位到初始状态,否则将导致时钟不稳定或时钟不能保存。
第三、供电开关控制不当。如果STM32芯片在供电开关关闭之前未完成存储器内数据的更新,会导致时钟不稳定或时钟丧失。在设计时应该合理使用供电开关控制,保证时钟能够正确保存。
第四、芯片本身问题。有时芯片制造或批量生产过程中会存在一些问题,需要查明具体原因并进行处理。
关于解决STM32时钟不保存问题,可以从以下几个方向入手:
一、确保电源稳定;
二、优化复位电路;
三、合理使用供电开关;
四、对芯片进行检测和处理;
五、保证程序设计的正确性。在应用层面上,正确的程序设计和编写也很重要,合理规划存储器的使用,避免未完成存储器内数据的更新,从而保证时钟可靠保存。
相关问题
stm32掉电保存数据
在STM32中,可以使用RTC(实时时钟)模块来保存掉电时需要保留的数据。RTC模块有一个备份寄存器(Backup Register),可以保存一些数据。在STM32的库函数中,可以使用BKP_WriteBackupRegister函数来写入数据,使用BKP_ReadBackupRegister函数来读取数据。这些数据在掉电后依然可以保留。另外,也可以使用EEPROM或Flash等存储器来保存需要保留的数据,但是需要注意写入次数有限制,需要谨慎使用。
STM32F103配置系统时钟
在使用STM32F103单片机时,配置系统的工作时钟是第一步。我们可以选择使用外部时钟源或内部时钟源。配置系统时钟需要参考一些函数,下面给出了两个函数供大家在实际开发中使用。
另外,基于STM32F103的实时时钟可以支持掉电时钟数据不复位,并且能够跨天保存时钟数据。同时,还可以通过使用OLED(IIC接口)显示来显示时间,并且支持使用按键来更改时间。你可以参考附带的原理图来进行设计,同时可以采用micro USB供电。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* [STM32F103系统时钟设置](https://blog.csdn.net/SammySum/article/details/120580898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [STM32数字时钟,掉电时钟数据保存,使用OLED显示屏显示,带电路图](https://download.csdn.net/download/weixin_64343948/88279862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]