gintoki_zero 发表于 2024-3-28 15:07:24

Stm32G071 i2c slave配置问题

请问下大佬们,G071的I2C在配置成slave 的情况下,上面timing configure 中的100k是否会对slave有限制,比如说外部master使用400k的clk读写G071的数据,会因为时钟频率不一致而导致传输数据有问题的情况?

!(data/attachment/forum/202403/28/150639kqg1fy17ur9to9fo.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

xmshao 发表于 2024-3-28 18:00:12

G0 i2c是可以支持400K的。你可以先用标准模式测试下,先让通信正常跑起来。关于参数配置,在STM32G0的参考手册里有个表格可以参考下,Table 109. Examples of timing settings for fI2CCLK = 8 MHz。

gintoki_zero 发表于 2024-3-29 09:19:24

xmshao 发表于 2024-3-28 18:00
G0 i2c是可以支持400K的。你可以先用标准模式测试下,先让通信正常跑起来。关于参数配置,在STM32G0的参考 ...

通信是正常跑的,但是G0作为slave,在timing configure里面配置的100k是否只在作为master的时候有用,作为slave不生效;

在使用的时候发现配置成100k,作为slave使用,外部master使用400k的clk还可以正常访**0,所以很疑惑

butterflyspring 发表于 2024-3-29 12:11:18

楼主分析的差不多。
做为master ,产生时钟,数据等需要从I2C clock 分频产生 400K时钟
做为slave, 用 I2C clock 接收就行了,同步通讯,要求不高的。



xmshao 发表于 2024-3-29 16:00:12

哦明白你的意思了。时序参数跟着Master走的,当然,只要Slave能支持。

gintoki_zero 发表于 2024-4-7 09:20:06

butterflyspring 发表于 2024-3-29 12:11
楼主分析的差不多。
做为master ,产生时钟,数据等需要从I2C clock 分频产生 400K时钟
做为slave, 用 I ...

got it,谢谢解答

gintoki_zero 发表于 2024-4-7 09:20:31

xmshao 发表于 2024-3-29 16:00
哦明白你的意思了。时序参数跟着Master走的,当然,只要Slave能支持。

got it,谢谢解答
页: [1]
查看完整版本: Stm32G071 i2c slave配置问题