打印
[STM32G0]

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

[复制链接]
255|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而已。

使用特权

评论回复
5
Uriah| | 2025-4-8 08:02 | 只看该作者
有没有可能是你配置了HSI,但系统初始化先跑HSE,I2C其实早就用了系统主时钟。

使用特权

评论回复
6
Clyde011| | 2025-4-8 08:03 | 只看该作者
如果你想验证是不是用的HSI,可以关掉HSE看I2C还能不能跑,马上就知道了。

使用特权

评论回复
7
公羊子丹| | 2025-4-8 08:04 | 只看该作者
我之前也注意到这个现象,可能是因为系统默认用HSI作I2C时钟源,但HSE也能跑是因为主时钟切过去了。

使用特权

评论回复
8
周半梅| | 2025-4-8 08:05 | 只看该作者
I2C的实际时钟源虽然设的是HSI,但只要系统总线时钟稳定,外设一样能正常收发。

使用特权

评论回复
9
帛灿灿| | 2025-4-8 08:06 | 只看该作者
CubeMX里能选HSI、SYSCLK、PCLK1之类的,建议确认下是不是I2C其实挂在PCLK1上。

使用特权

评论回复
10
童雨竹| | 2025-4-8 08:07 | 只看该作者
是不是你启动了HSE之后,系统默认切SYSCLK到HSE,导致你以为I2C跟着变了?

使用特权

评论回复
11
万图| | 2025-4-8 08:08 | 只看该作者
G0的时钟树比较简单,但外设时钟还是得看具体选的是哪个,不一定就是独立的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

518

主题

2003

帖子

6

粉丝