恩,好的。
我用I2C接口与LP3913这个电源管理模块(也是TI的产品)通信,程序如下:
......
#define LP3913 0xC0
Uint16 dataW1[2] = [0x09,0x34];
Uint16 i2c_status = 0;
I2C_Setup setup = [
0, /* 7 bit address mode */
0, /* own address - don't care if master */
240, /* dsp clock 240Mhz) */
100, /* 100Khz master clock*/
0, /* number of bits/byte to be received or transmitted (8)*/
0, /* DLB mode on*/
1 /* FREE mode of operation on*/
];
I2C_setup(&setup);
i2c_status =I2C_write( dataW1, //pointer to data array 往寄存器0x09里写入0x34
2, //length of data to be transmitted
1, //master or slaver
LP3913_ADDR, //slave address to transmit to
1, //transfer mode of operation
30000 //time out for bus busy
);
......
i2c_status接收到的返回值是1(Bus busy;not able to generate start condition),请问,这种错误是怎么导致的?我在初始化I2C模块时,配置错误吗?
谢谢。
恩,好的。
我用I2C接口与LP3913这个电源管理模块(也是TI的产品)通信,程序如下:
......
#define LP3913 0xC0
Uint16 dataW1[2] = [0x09,0x34];
Uint16 i2c_status = 0;
I2C_Setup setup = [
0, /* 7 bit address mode */
0, /* own address - don't care if master */
240, /* dsp clock 240Mhz) */
100, /* 100Khz master clock*/
0, /* number of bits/byte to be received or transmitted (8)*/
0, /* DLB mode on*/
1 /* FREE mode of operation on*/
];
I2C_setup(&setup);
i2c_status =I2C_write( dataW1, //pointer to data array 往寄存器0x09里写入0x34
2, //length of data to be transmitted
1, //master or slaver
LP3913_ADDR, //slave address to transmit to
1, //transfer mode of operation
30000 //time out for bus busy
);
......
i2c_status接收到的返回值是1(Bus busy;not able to generate start condition),请问,这种错误是怎么导致的?我在初始化I2C模块时,配置错误吗?
谢谢。
举报