stm32f103zet6 i2c 四针 oled 标准库开发
百度云-源码及原理图下载
在stm32f103zet6开发板上使用i2c点亮oled时,遇到一个问题:只有SCL和SDA接PB6和PB7,屏幕才能点亮,换其他的GPIO口都不行。
原因是i2c总线必须接上拉电阻。
打开stm32f103zet6原理图,可以发现,PB6和PB7实际上都接了4.7k的上拉电阻
发现原因就好办了,在原理图中搜索4.7k的电阻,有这几个可用:
对应的GPIO口是PG11和PB9
因此,在OLED.c文件中,修改代码即可
#define SCL_PIN GPIO_Pin_9
#define SDA_PIN GPIO_Pin_11
#define SCL_PORT GPIOB
#define SDA_PORT GPIOG