还没买板子(有点小贵),跑了一下原子的程序,我用的是D0脚(9脚)接V3.3(接地跟DS3231冲突),所以卡在读取ID的地方了。
MPU_DEVICE_ID_REG判断应该是一直都是0x68,这个不跟AD0变化。
刚调到这有问题再贴。
还有
//IIC问题
原子怎么在4系列上也对iic的IO置方向啊,为了跟103的程序兼容么,感觉多执行了好多
全部设置成
GPIO_OType_OD输出,直接就可以读取IDR
IO_SET(GPIOB, 6,GPIO_Mode_OUT,GPIO_OType_OD,GPIO_Speed_50MHz,GPIO_PuPd_NOPULL);//I2C_SCL
IO_SET(GPIOB, 7,GPIO_Mode_OUT,GPIO_OType_OD,GPIO_Speed_50MHz,GPIO_PuPd_NOPULL);//I2C_SDA
#define IIC_SCL  
Bout(6) //SCL
#define IIC_SDA  
Bout(7) //SDA
#define READ_SDA GPIOB->IDR & (1<<7) //输入SDA
在AD0引脚的价值不是体现在这个寄存器。
WHO_AM_I 固定值为0x68或0x71
一周热门 更多>