|
bit readData_fram (uchar ChipNum, ushort Address, void POINTERDATA *Data, uchar Size)
{
uchar data Command;
uchar data i;
Command = ChipNum;
do
{
sendStart_i2c();
sendByte_i2c(ChipNum);
sendByte_i2c( ((Address >> 8) & 0x00FF ) );
sendByte_i2c(Address & 0x00FF );
sendStop_i2c();
sendStart_i2c();
sendByte_i2c(ChipNum | FRAM_READ);
ack_i2c();
for (i = 0; i < Size; i++)
{
if (i == (Size-1))
nack_i2c();
*(uchar*)(Data+i) = recvByte_i2c();
}
if ( getStatus_i2c() ) continue;
break;
} while(1);
sendStop_i2c();
return 0;
}
E-mail: info@telesys.ru