Оставлял часы тикать на ночь, читая с RTC 3 раза в секунду время-дату и передавая в ком-порт. На утро часы верно насчитали прошедшие 15 часов, дата осталась корректной. Т.е. с чтением проблем нет. Снял сегодня осциллограмму записи в RTC пачки 10 регистров начиная с адреса 0x08.
Пробовал писать отдельные регистры и все 10 регистров пачкой.
Посылка (на дату-время 10:58:36 29.06.30):
  StateTWI = WriteData;       // Будем писать в модуль
    EndDataOutTWI=11;
    DataOutTWI[0]=0x08;
    DataOutTWI[1]=0xa9;
    DataOutTWI[2]=0;
    DataOutTWI[3]=0x36;
    DataOutTWI[4]=0x58;
    DataOutTWI[5]=0x10;
    DataOutTWI[6]=0x29;
    DataOutTWI[7]=0x29;
    DataOutTWI[8]=0x06;
    DataOutTWI[9]=0x30;
    DataOutTWI[10]=0;
  PtrDataOutTWI=1;                                    // Т.к. 0й байт уже передан, продолжаем с 1 
  
  AT91C_BASE_TWI->TWI_MMR = (CntAddrTWI >> 1) << 16;  // Задаём адрес для записи в модуль
  AT91C_BASE_TWI->TWI_IADR = 0;                       // Начальный адрес регистра 0x08
  AT91C_BASE_TWI->TWI_THR = DataOutTWI[0];            // Передаём на запись первый байт буфера
  AT91C_BASE_TWI->TWI_CR = AT91C_TWI_START;           // START
  AT91C_BASE_TWI->TWI_IER = AT91C_TWI_TXRDY | AT91C_TWI_NACK; // Ловить будем успешные отправки байт и неподтверждённые приёмником посылки 
Код в обработчике прерывания:
  unsigned int status = AT91C_BASE_TWI->TWI_SR;    // Читаем статус TWI
    if (status & AT91C_TWI_TXRDY)                 // Прошлый байт был принят приёмником (получен ACK) 
    {
      if (PtrDataOutTWI >= (EndDataOutTWI))                 // Если последний байт
      {
        AT91C_BASE_TWI->TWI_CR = AT91C_TWI_STOP;                  // STOP
        AT91C_BASE_TWI->TWI_IDR = 0xFFFFFF;                       // Выключаем все прерывания от TWI
        StateTWI=255;                                             // Ставим признак свободного TWI
      }
      else
        AT91C_BASE_TWI->TWI_THR = DataOutTWI[PtrDataOutTWI++];    // Передаём очередной байт данных
    }
    
    if (status & AT91C_TWI_NACK)                  // Прошлый байт не был успешно принят приёмником (получен NACK) 
    {
      LedErrorOn();                                             // Мигнём индикатором "Ошибка"
      AT91C_BASE_TWI->TWI_CR = AT91C_TWI_STOP;                  // STOP
      AT91C_BASE_TWI->TWI_IDR = 0xFFFFFF;                       // Выключаем все прерывания от TWI
      StateTWI=255;                                             // Ставим признак свободного TWI
    } 
0x08(адрес) 0xA9 0x00 0x36 0x58 0x10 0x29 0x29 0x06 0x30 0x00соответствует осциллограмме, единственное межбайтовых интервалов нет, всё засылается сплошняком. Читается мусор типа 00:14:10 45.00.00. Код начала записи: