2019-03-24 10:22发布
Linchpin 发表于 2015-4-1 23:04 那是硬件I2C,,硬件I2C我弄过,,但还是比较难弄的,我花了一天半才完全搞明白。。有什么不懂的可以问我
蓝雨夜 发表于 2015-4-1 14:01 去TI下 TivaWare_C_Series-2.1.0.12573sensorlib
einspyon 发表于 2015-4-3 14:48 我现在在读MPU6050,下面是我向MPU6050的内部某个寄存器写入一个字节的数据,麻烦帮我看下有没有问题,谢谢,谢谢! void I2C_write(unsigned char reg_address, unsigned char data) { I2CMasterSlaveAddrSet(I2C1_BASE, slave_address, false); // false代表主模块发送,从模块接收 I2CMasterDataPut(I2C1_BASE, reg_address); // 发送寄存器地址 I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_SEND_START); while(I2CMasterBusy(I2C1_BASE)); I2CMasterDataPut(I2C1_BASE, data); // 发送数据 I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_SEND_CONT); while(I2CMasterBusy(I2C1_BASE)); I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_SEND_STOP); while(I2CMasterBusy(I2C1_BASE)); }
最多设置5个标签!
我现在在读MPU6050,下面是我向MPU6050的内部某个寄存器写入一个字节的数据,麻烦帮我看下有没有问题,谢谢,谢谢!
void I2C_write(unsigned char reg_address, unsigned char data)
{
I2CMasterSlaveAddrSet(I2C1_BASE, slave_address, false); // false代表主模块发送,从模块接收
I2CMasterDataPut(I2C1_BASE, reg_address); // 发送寄存器地址
I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_SEND_START);
while(I2CMasterBusy(I2C1_BASE));
I2CMasterDataPut(I2C1_BASE, data); // 发送数据
I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_SEND_CONT);
while(I2CMasterBusy(I2C1_BASE));
I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_SEND_STOP);
while(I2CMasterBusy(I2C1_BASE));
}
好像有点难看的懂, 但还是非常感谢
现在我也很头疼,还没搞定呢!
你这个读取I2C的程序完全正确,没有问题!! 可能是其它方面出的问题,你再好好找找
一周热门 更多>