初级会员

- 积分
- 50
- 金钱
- 50
- 注册时间
- 2019-3-19
- 在线时间
- 24 小时
|
10金钱
用的是STM32L151C8T6-A,现在有个奇怪的问题,我最初用的标准库,外接8m晶振,默认设置时钟应该是到32mhz,不过循环跑同样的代码(串口1打印),进入stop模式前和rtc唤醒STOP后测的电流基本一样,而网上查到已知stop唤醒后默认时钟变为msi,程序还照常运行。所以这么推断我接了外部晶振但实际用的时钟源应该还是msi?不过用cube配置了使用外部晶振,执行同样代码也都是串口打印,进入stop模式前电流要比stop唤醒后电流大的多,而且stop唤醒后打印的也乱码了,这种情况应该就是正常的,即开始是启用的外部晶振,stop唤醒后自动变为msi。cube配置时钟32m和8m都是电流大于STOP唤醒后的电流,而且32M测的电流也大于8M时候的电流。MSI时钟是2M左右。所以想问难道官方标准库即使我接了外部晶振实际还是默认用msi??不过看标准库时钟初始化流程貌似也都开启了HSE。
还有个细节是我用标准库的时候STLINK烧录代码,好像都得按着复位键再点击烧录再松开复位键才能烧进去代码,不然直接烧录的话一直提示no target connected。网上查了一下说,在系统RST复位和STOP唤醒后,默认都是选择MSI时钟源,所以猜想最后时钟一直是MSI会不会和我烧录代码时候必须按复位键才可以烧进去有关?不过这会代码还没烧进去呢,即使我按着复位键又能用什么影响呢?
用标准库STOP结束后我原本重新配置了一下使用HSE,不过这种情况程序就卡住了。不配置的话就照常运行。
很是苦恼。。跪求解答。
|
|