|
读取数据不正确,求指明错
void geta()
{
u8 c;
I2C0_C1|=I2C_C1_TX_MASK;
I2C0_C1|=I2C_C1_MST_MASK;
I2C0_D=0x38;
while((I2C0_S&&I2C_S_IICIF_MASK)==0);
I2C0_S|= I2C_S_IICIF_MASK;
I2C0_D=0x01;
while((I2C0_S&&I2C_S_IICIF_MASK)==0);
I2C0_S|= I2C_S_IICIF_MASK;
I2C0_C1|=I2C_C1_RSTA_MASK;
I2C0_D=0x39;
while((I2C0_S&&I2C_S_IICIF_MASK)==0);
I2C0_S|= I2C_S_IICIF_MASK;
I2C0_C1 &= ~I2C_C1_TXAK_MASK;
I2C0_C1 &= ~I2C_C1_TX_MASK;
c=I2C0_D;
while((I2C0_S&&I2C_S_IICIF_MASK)==0);
I2C0_S|= I2C_S_IICIF_MASK;
mmax=I2C0_D;
mmax=mmax<<8;
while((I2C0_S&&I2C_S_IICIF_MASK)==0);
I2C0_S|= I2C_S_IICIF_MASK;
c=I2C0_D;
mmax|=c;
while((I2C0_S&&I2C_S_IICIF_MASK)==0);
I2C0_S|= I2C_S_IICIF_MASK;
mmay=I2C0_D;
mmay<<=8;
while((I2C0_S&&I2C_S_IICIF_MASK)==0);
I2C0_S|= I2C_S_IICIF_MASK;
mmay|=I2C0_D;
while((I2C0_S&&I2C_S_IICIF_MASK)==0);
I2C0_S|= I2C_S_IICIF_MASK;
mmaz=I2C0_D;
mmaz<<=8;
while((I2C0_S&&I2C_S_IICIF_MASK)==0);
I2C0_S|= I2C_S_IICIF_MASK;
mmaz|=I2C0_D;
I2C0_C1&=~I2C_C1_MST_MASK;
I2C0_C1&=~I2C_C1_TX_MASK;
}
|
|