我是 STM32 和 CubeMX 的新手。我需要在 STM32F103C8T6 中创建 3 个 UART 接口和 2 个 I2C 接口。我试过了,但是 i2c 和 uart 通信都有一个公共端口,它只允许我创建 (2 uart 和 2 i2c) 或 (3 uart 和 1 i2c ),我无法根据需要创建。如何在STM32F103C8T6中同时建立3个UART和2个I2C接口?
提前致谢...
我是 STM32 和 CubeMX 的新手。我需要在 STM32F103C8T6 中创建 3 个 UART 接口和 2 个 I2C 接口。我试过了,但是 i2c 和 uart 通信都有一个公共端口,它只允许我创建 (2 uart 和 2 i2c) 或 (3 uart 和 1 i2c ),我无法根据需要创建。如何在STM32F103C8T6中同时建立3个UART和2个I2C接口?
提前致谢...
你不能。存在无法解决的引脚冲突。
I2C2 外设必须为 SDA 和 SCL 使用引脚 PB10 和 PB11——该外设没有重新映射。
USART3 外设将这些引脚用于 TX 和 RX。在更高引脚数的 STM32F1 器件上,它可以重新映射到引脚 PC10/PC11 或 PD8/PD9;但是,STM32F103C8 没有这些引脚。
STM32F103 上只有两个 I2C 和三个 USART 外设,因此没有可用的备用 I2C 或 USART 外设。
使用硬件 I2C 和尽可能多的硬件 UART。对于其他的,编写软件实现。您在这里有一个示例:https : //www.st.com/resource/en/application_note/dm00110292.pdf 或使用更多引脚的 stm32F103