This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于IO口模拟I2C驱动MPU6050的问题



为什么我像stm32一样修改引脚代码,mpu6050就驱动不起来。

首先初始化GPIO

EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;
GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0;

GpioCtrlRegs.GPAQSEL1.bit.GPIO0=0;
GpioCtrlRegs.GPAQSEL1.bit.GPIO1=0;

GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0;
GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0;

GpioCtrlRegs.GPADIR.bit.GPIO0=1;
GpioCtrlRegs.GPADIR.bit.GPIO1=1;
EDIS;

然后再MPU6050上修改代码如下

#define SDA_1 GpioDataRegs.GPASET.bit.GPIO0=1//SDA=1
#define SDA_0 GpioDataRegs.GPACLEAR.bit.GPIO0=1//SDA=0
#define SCL_1 GpioDataRegs.GPASET.bit.GPIO1=1//SCL=1
#define SCL_0 GpioDataRegs.GPACLEAR.bit.GPIO1=1//SCL=0

#define SDA_DIR_IN GpioCtrlRegs.GPADIR.bit.GPIO0=0//SDA设置成输入
#define SDA_DIR_OUT GpioCtrlRegs.GPADIR.bit.GPIO0=1//SDA设置成输出

#define SCL_DIR_OUT GpioCtrlRegs.GPADIR.bit.GPIO1=1//SCL设置成输出

#define SDA_read GpioDataRegs.GPADAT.bit.GPIO1//取出SDA上的数据