unsigned char IicBusRead(IicPack *IicData)
{
unsigned char i,ret;
/* Ramdom Read Cycle / Sequential Ramdom Read Cycle */
IicData->iic_DeviceAddress &= 0xFE; /* WRITE Setting Device Address */
StartCondition(); /* Start Condition */
while (1) {
if ((ret=ByteWrite(IicData->iic_DeviceAddress)) == NOACK) /* WRITE Device Address */
break; /* NoAck Detect */
if ((ret=ByteWrite(IicData->iic_MemoryAddress)) == NOACK) /* WRITE Memory Address */
break; /* NoAck Detect */
IicData->iic_DeviceAddress |= 0x01; /* READ Setting Device Address */
StartCondition(); /* ReStart Condition */
if ((ret=ByteWrite(IicData->iic_DeviceAddress)) == NOACK) /* WRITE Device Address */
break; /* NoAck Detect */
for (i=1; i<IicData->iic_NumberOfByte; i++) { /* specified bytes as loop */
ByteRead(IicData->iic_Data, ACK); /* Read data (Ack output) */
IicData->iic_Data++; /* */
}
ByteRead(IicData->iic_Data, NOACK); /* Read data (NoAck output) */
break;
}
StopCondition(); /* Stop Condition */
return(ret);
}
这是瑞萨网上的一个iic例程.
在这个例程中, "->" 这个表达式是表示什么
IicData->iic_DeviceAddress &= 0xFE; /* WRITE Setting Device Address */