Здраствуйте,
Имеется плата на базе ATSAM3S4A , на шине I2C - M41T00 http://s16.postimg.org/pnt0c22ed/scheme.jpg.
По умолчанию на пинах предназначенные для TWI1 сидит SystemFunction - JTAG (TDI/TDO).
Меняю на PerepheriaA так
ioport_set_pin_mode( PIO_PB4_IDX, PIO_PERIPH_A );ioport_disable_pin( PIO_PB4_IDX );
ioport_set_pin_mode( PIO_PB5_IDX, PIO_PERIPH_A );ioport_disable_pin( PIO_PB5_IDX );
В итоге получаю бесконечный цикл в функции
twi_master_write()
{...while (1) {status = p_twi->TWI_SR;
if (status & TWI_SR_NACK) {return TWI_RECEIVE_NACK;}
if (status & TWI_SR_TXRDY) {break;}}..
}
Если подключить M41T00 к TWI0(и соответственно настроить), то все работает.
Так же я пробовал отключать JTAG - на JTAGSEL подавал 3.3В - не помогло.
Т.е. получается как-будто я неправильно меняю функцию пинов..