mrchoo 0 7 марта, 2005 Опубликовано 7 марта, 2005 · Жалоба Я работаю в качестве слэйва по TWI в режиме передачи. Я передаю байт. По окончании передачи этого байта, мастер выдает состояние ACK. У меня возникает прерывание и регистр TWSR содержит состояние ST_DATA_ACK. Если после этого мастер выдаст в линию состояние STOP, возникнет ли у меня прерывание, и что будет содеражаться в TWSR? Если не возникнет, то как я соображу, что мастер хочет завязать со мной работать? Или это запрещено выдавать STOP после ACK? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vet 0 7 марта, 2005 Опубликовано 7 марта, 2005 · Жалоба Как я понимаю, мастер сигналит об окончании приёма выдачей NOT ACK, а прерывания по передаче STOP в режиме slave transmitter не возникает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mrchoo 0 7 марта, 2005 Опубликовано 7 марта, 2005 · Жалоба Как я понимаю, мастер сигналит об окончании приёма выдачей NOT ACK, а прерывания по передаче STOP в режиме slave transmitter не возникает. <{POST_SNAPBACK}> Это да. Но меня все же более интересует вариант, когда мастер отвечает ACK. Как тогда? Возможно, это запрещено по протоколу I2C. Но это чисто предположение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 14 марта, 2005 Опубликовано 14 марта, 2005 · Жалоба Мастер может выдать и ACK и NAK, это не запрещено, а после этого или Stop или Repeated Start. Прерывания по Stop в режиме Slave Transmitter нет. Начало новой транзакции (или окончание старой) можно определить по состоянию SLAR/SLAW. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться