我用官方的程序读24C02是没有问题的,但我接了加速度传感器后就一直卡在写数据的 i2c0_Wait();里,
初始化
// SIM_SCGC5 = SIM_SCGC5_PORTE_MASK;
SIM_SCGC4 |= SIM_SCGC4_I2C0_MASK; //Turn on clock to I2C` module
/* configure GPIO for I2C1 function */
// PORTE_PCR24 = PORT_PCR_MUX(5);
// PORTE_PCR25 = PORT_PCR_MUX(5);
PORTB_PCR2 = PORT_PCR_MUX(2);
PORTB_PCR3 = PORT_PCR_MUX(2);
I2C0_F = 0x12; // set MULT and ICR: For bus speed of 24MHz, 0x12 should give 400 kHz
I2C0_C1 = I2C_C1_IICEN_MASK; /* enable IIC */
用的PB2和PB3。有时候第一个写寄存器值可以通过,但会卡在第二个写,有时第一个写就卡住了。不知道哪里的问题,读写24C02都没问题的。求大神们指点哦!
|