[STM32G0] G0B1 iic时钟选择HSI的话,启动HSE也能运行

[复制链接]
479|10
 楼主| 豌豆爹 发表于 2024-6-10 14:17 | 显示全部楼层 |阅读模式
G0B1 iic时钟选择HSI的话,启动HSE也能运行
Wordsworth 发表于 2025-4-8 08:00 | 显示全部楼层
你可以在调试状态下看看I2C的时钟源寄存器,比如RCC_CCIPR那一栏,确认实际来源。
Bblythe 发表于 2025-4-8 08:01 | 显示全部楼层
有时候即使你设置了HSI,如果还没准备好,它会fallback到其他可用时钟源继续运行。
Pulitzer 发表于 2025-4-8 08:01 | 显示全部楼层
我试过用HSI跑I2C,稳定性还行,但HSE稳定性更高,可能只是配置名义上是HSI而已。
Uriah 发表于 2025-4-8 08:02 | 显示全部楼层
有没有可能是你配置了HSI,但系统初始化先跑HSE,I2C其实早就用了系统主时钟。
Clyde011 发表于 2025-4-8 08:03 | 显示全部楼层
如果你想验证是不是用的HSI,可以关掉HSE看I2C还能不能跑,马上就知道了。
公羊子丹 发表于 2025-4-8 08:04 | 显示全部楼层
我之前也注意到这个现象,可能是因为系统默认用HSI作I2C时钟源,但HSE也能跑是因为主时钟切过去了。
周半梅 发表于 2025-4-8 08:05 | 显示全部楼层
I2C的实际时钟源虽然设的是HSI,但只要系统总线时钟稳定,外设一样能正常收发。
帛灿灿 发表于 2025-4-8 08:06 | 显示全部楼层
CubeMX里能选HSI、SYSCLK、PCLK1之类的,建议确认下是不是I2C其实挂在PCLK1上。
童雨竹 发表于 2025-4-8 08:07 | 显示全部楼层
是不是你启动了HSE之后,系统默认切SYSCLK到HSE,导致你以为I2C跟着变了?
万图 发表于 2025-4-8 08:08 | 显示全部楼层
G0的时钟树比较简单,但外设时钟还是得看具体选的是哪个,不一定就是独立的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

534

主题

2344

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部