是否可以使用 STM32F303 片上 I2C 连接到 STM32F3DISCOVERY 板载陀螺仪(I3G4250D 或 L3GD20)?

Can STM32F303 on-chip I2C be used, to connect to STM32F3DISCOVERY on-board gyroscope (I3G4250D or L3GD20)?

STM32F3DISCOVERY开发板有一个 STM32F303VC 微控制器,内置 SPI 和 I2C 支持,以及一个同时支持 SPI 和 I2C 的陀螺仪。

根据董事会 user manual and schematic, the gyroscope is connected to the microcontroller's PA5/6/7/PE3, which (under 'alternate function 5') are connected to its SPI1 bus (per the STM32F303VC datasheet).

因此可以使用片上 SPI 支持连接到此陀螺仪。

但是通过保持PE3 = CS_I2C/SPI高,设备(I3G4250D或L3GD20)以I2C模式运行,并且相同 PA5/7 引脚可用于 I2C SCL+SDA。

我的问题:是否可以使用 STM32 的片上 I2C 支持来驱动这些 PA5/7 引脚并通过 I2C 连接到这个板载陀螺仪?

(我在微控制器的数据表或参考手册中找不到任何可以启用此功能的内容。因此唯一的替代方案似乎是使用 SPI,或者通过 'bitbanging' 在 PA5/7 上执行 I2C。)

引脚 PA5 或 PA7 上没有 I2C。

你可以做的是将PA5和PA7置于高阻抗模式(输入或模拟模式),然后将它们的跳线分别连接到PB6和PB7,其中I2C功能可用,pull-up电阻是已经装好了。