RSA (06.06.2006 18:12, просмотров: 1) ответил IV на такой устроит? для кодека tlv320aic
Ответ: При считывании устройста читаются 0 После первого чтения шина SDA пеходит в 0 и стается там до выключения питания. SCK -> 1. При отключенном устройстве на SCK присутствуют импульсы. Код прилагаю.
int AT91F_TWI_ReadByte(char address)
{
unsigned char data;
unsigned int status,error=0;
// Set the TWI Master Mode Register
AT91C_BASE_TWI->TWI_MMR = AT91C_TWI_MREAD | AT91C_TWI_IADRSZ_1_BYTE | (address << 16);
// Start transfer
AT91C_BASE_TWI->TWI_CR = AT91C_TWI_START | AT91C_TWI_MSEN; // master enable;
status = AT91C_BASE_TWI->TWI_SR;
if ((status & ERROR) == ERROR) error++;
while ((status & AT91C_TWI_RXRDY))
{
status = AT91C_BASE_TWI->TWI_SR;
if ((status & ERROR) == ERROR) error++;
}
data = AT91C_BASE_TWI->TWI_RHR;
AT91C_BASE_TWI->TWI_CR = AT91C_TWI_STOP;
while ((status & AT91C_TWI_TXCOMP))
{
status = AT91C_BASE_TWI->TWI_SR;
if ((status & ERROR) == ERROR) error++;
}
return (data);
}