Кстати, решение по остановке TWI у SAM есть - просто выключаем его в PMC на необходимое время.
Если конкретно, то в таком цикле вычитки из EEPROM :
Код
while (size-- >1){
// Wait THR Holding register to be empty
while (!(pTwi->TWI_SR & AT91C_TWI_TXRDY));
/*
AT91C_BASE_PMC->PMC_PCDR = (1<< AT91C_ID_TWI);
sleep(10);
AT91C_BASE_PMC->PMC_PCER = (1<< AT91C_ID_TWI);
*/
// Send first byte
pTwi->TWI_THR = *(data2send++);
}
приведенный финт ушами прекрасно работает