立创地猛星: 0.96寸IIC单色屏 | 立创开发板技术文档中心
最近使用MSPM0G3507移植MPU6050时发现一个问题:
发现引脚不能配置为开漏输出。
排查之后发现,(我用的是软件IIC) MSPM0G3507最多只能设置两个IO口为开漏输出。我之前配置OLED屏幕时,使用的也是软件IIC,已经设置了两个IO口为开漏输出,才会导致配置MPU6050时报错。
其实这个问题可以直接用硬件IIC解决的,但是想到IIC总线上不是可以挂载多个从机吗,于是直接使用OLED的SCL,SDA引脚。成功解决!!
先移植立创官方 MPU6050 的案例,接着把OLED的4个文件直接复制到MPU6050的文件夹加下。只用改动OLED.h中的引脚,改成MPU6050的SCL和SDA引脚即可。可能还有几个报错,把OLED文件中的这两个函数名字全都改一下就行了。
void I2C_WaitAck(void);
void Send_Byte(u8 dat);
因为这两个函数与bsp_mpu6050.c文件中定义的函数重名了。
改完之后的主函数: