你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
首先说一下,我使用的是stm32l072cbt6这款芯片
我的时钟设置如图
但是生成后,我查代码发现systick重装载值是这样的
这样是代表我的系统时钟实际上是MSI吗,这个HAL设置的1ms是否还准确呢
举报
经过长时间的查找,我发现这样一种可能,也许能解释这个问题(要是我说错了还望大佬不吝赐教)。我找到RCC有这样一个位(RCC_CFGR的STOPWUCK) ,当离开stop模式时,会根据这个位选择HSI还是MSI作为时钟源。而我实验了下发现这个位是默认值,也就是离开stop时会选择MSI作为时钟源。是不是因此生成的程序默认为MSI了?如果是这样的话,这个1MS的延时应该不准吧?
人物 发表于 2023-10-13 18:44 [md]经过长时间的查找,我发现这样一种可能,也许能解释这个问题(要是我说错了还望大佬不吝赐教)。我找到 ...
butterflyspring 发表于 2023-10-16 09:51 唤醒之后需要重新配置系统运行时钟,配置过程中,将这1MS的时钟配置为当前时钟。这样才能保持一致和定时准 ...
可是,我的默认时钟是通过PLL分配的16MHz不是么,但是按我在提问中展示的代码,它给的1ms延时不是按MSI时钟来的吗(也就是SystemCoreClock和MSI的时钟频率一致,而不是和我设置的时钟频率一致)。我要是不进行stop模式再唤醒,cubemx生成的这个1ms不是永远都不对吗
《年中视频学习心得》+我在年中学习STM32心得
個人中心的頭像怎麽換掉
如何调整CubeMX的默认引脚
cudeide执行run是烧录还是只是执行呢
無綫藍牙低功耗板卡NUCLEO-WBA65RI
Keil编译为何慢?
stm32cubemax
STM32U575VGT6在cubeMX中没有FATFS中间件,是不支持?还是待开发?现在这块板子使用FATFS只能自己手动移植吗?
电磁炉
boost电路程序控制
应用中,STOP唤醒后需要重新系统时钟配置,根据当前时钟来重新初始化 TICK
配置时钟函数里包含了更新时钟源,所以使用的是当前时钟源,并非默认时钟源。
你可以参考库中代码,使用中不要拆分库函数使用。
经过长时间的查找,我发现这样一种可能,也许能解释这个问题(要是我说错了还望大佬不吝赐教)。我找到RCC有这样一个位(RCC_CFGR的STOPWUCK) ,当离开stop模式时,会根据这个位选择HSI还是MSI作为时钟源。而我实验了下发现这个位是默认值,也就是离开stop时会选择MSI作为时钟源。是不是因此生成的程序默认为MSI了?如果是这样的话,这个1MS的延时应该不准吧?
唤醒之后需要重新配置系统运行时钟,配置过程中,将这1MS的时钟配置为当前时钟。这样才能保持一致和定时准确。楼主可以试试看。
可是,我的默认时钟是通过PLL分配的16MHz不是么,但是按我在提问中展示的代码,它给的1ms延时不是按MSI时钟来的吗(也就是SystemCoreClock和MSI的时钟频率一致,而不是和我设置的时钟频率一致)。我要是不进行stop模式再唤醒,cubemx生成的这个1ms不是永远都不对吗