STM32L0 上电复位信号完成到main函数之间需要多少时间
我现在使用cpu型号是STM32L0C6T6,在使用中发现一个有趣的现象:上电复位完成后到main函数之间的延时有150~200ms,每次上电后的延时时间还不固定。如果采用复位信号强制为低后,则复位信号完成后到main函数之间的延时基本为0。也就是说延时来自冷启动(上电复位),查资料有可能来自cpu自带的上电电压稳定时间,但这个时间也太长了
不知道大家有没有遇到过这种情况,如果要减短这个时间,应该怎么做?
这个确实是不太固定的,特别是你使用外部晶振,如果用内部晶振,应该会稳定一点吧,还有就是,上电也是一个过程,从0到可以工作的电压,不知道你的时间具体怎么测量的!!!! 具体情况具体分析,没发现有问题。不过也没用过你说的型号“STM32L0C6T6”。 不用看了晶振电路问题,换换电容和晶振。
时钟初始化那里会等待外部时钟稳定 MrJiu 发表于 2019-4-30 14:56
这个确实是不太固定的,特别是你使用外部晶振,如果用内部晶振,应该会稳定一点吧,还有就是,上电也是一个 ...
主时钟就是用的内部晶振,不过有一个外部rtc 32.768晶振,会在系统时钟中初始化。
测量过程如下
main()
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
测试引脚拉高
}
示波器一路接复位信号,一路接测试引脚,由于引脚拉高需要在gpio初始化后才能拉高,所以必定需要在系统时钟配置后测量,图一就是测得这两引脚。但是否是在SystemClock_Config中延时过长呢?
在HAL_Init中已经完成滴答时间初始化,在测试引脚拉高处的滴答时钟只有几微秒,也就是说延时并不是在SystemClock_Config中产生的,而是在main之前产生的。
除非滴答时间不可信。 tanic 发表于 2019-4-30 20:28
不用看了晶振电路问题,换换电容和晶振。
时钟初始化那里会等待外部时钟稳定 ...
根据系统滴答时间计数,系统时钟初始化只有几毫秒。
感觉是与系统的POR/BOR/PDR有关,只是这方面的资料太少了。
toofree 发表于 2019-4-30 17:00
具体情况具体分析,没发现有问题。不过也没用过你说的型号“STM32L0C6T6”。 ...
多谢回复!
正常使用时,哪怕是使用电池供电,都可能不会感觉到它的存在:) SystemInit tanic 发表于 2019-5-5 14:04
SystemInit
SystemInit()中没啥延时的内容啊,就是些RCC初始化字,没有仔细去看这些配置字的含义,难道这些配置字会导致延时?不会吧
延迟主要在晶振, 特别是32.768Kz, 如果说没用到的LSE的话, 可以把初始化LSE的代码屏蔽
以前也做过一项目, 需要快速起动, 就是卡在32.768哪儿, 后来改为只使能LSE, 但不等待它的起动, 先做其它任务, 等闲下来时处理跟LSE有关的初始化设置。
页:
[1]
2