最近打算使用MSP430的i2c驱动MPU6050.
我更改了TI_USCI_I2C_master.h头文件中的一些定义:
#define SDA_PIN 0x80 // msp430g2553 UCB0SDA pin
#define SCL_PIN 0x40 // msp430g2553 UCB0SCL pin
就是将SDA和SCL这两个引脚对应到MSP430LAUNCHPAD的引脚上。
对MPU6050的初始化我只用了这个的函数TI_USCI_I2C_transmitinit(MPU6050_DEFAULT_ADDRESS, 12);
在主函数中:我使用TI_USCI_I2C_slave_present(MPU6050_DEFAULT_ADDRESS);得到返回值如下
- _EINT();
- MPU6050Init();
- while(1)
- {
- result= TI_USCI_I2C_slave_present(MPU6050_DEFAULT_ADDRESS);
- }
TI_USCI_I2C_slave_present(unsigned char slave_address);函数的解释如下
下面的图示我用示波器抓的图,表明从地址已发送,mpu6050也应答了。
MPU6050的地址也正确发送了
我的问题是:我打算使用TI提供的USCI I2C驱动程序来读取MPU6050的数据,但是 MPU6050 里面的寄存器也要初始化,那我该怎么调用函数呢? 向MPU6050中的寄存器赋值呢?