Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TWI: как узнать момент завершения передачи Stop?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Diusha
Нет у TWI в TWSR кода, соответстветствующего окончанию пересылки команды Stop (речь идет о Master`e). Если попытаться Start`овать пока Stop еще не закончилась, то вместо Stop`a co Start`ом получается Repeated Start. Кто-нибудь знает, как этого можно избежать без использования дополнительной задержки?
Diusha
О, догадался тестировать флаг TWSTO. Он сбрасывается после стопа. Помогло, но не до конца. В 6 случаях из 100 все равно получается RepS почему-то. Что, неужели никто не сталкивался?
ASZ
Цитата(Diusha @ Oct 25 2008, 16:34) *
О, догадался тестировать флаг TWSTO. Он сбрасывается после стопа. Помогло, но не до конца. В 6 случаях из 100 все равно получается RepS почему-то. Что, неужели никто не сталкивался?

Наверное, не окончена обработка прдыдущего зароса.
Diusha
Цитата(ASZ @ Oct 25 2008, 21:47) *
Наверное, не окончена обработка прдыдущего зароса.

Однозначно закончена. Именно по ее окончании и инициируется следующий
Непомнящий Евгений
А чем плох Repeated Start?
Maik-vs
Цитата(Diusha @ Oct 25 2008, 17:34) *
В 6 случаях из 100 все равно получается RepS почему-то. Что, неужели никто не сталкивался?


Да сталкивались, конечно... В программе ошибка. Потому что 6 из 100 - очень странная статистика.
И, не зная ни типа МК, ни рабочей частоты, ни с кем он общается, ни даже на чём написана программа, не говоря уже об исходнике - кто что скажет?
defunct
Цитата(Diusha @ Oct 25 2008, 16:34) *
Что, неужели никто не сталкивался?

Работайте по прерыванию не будет непредвиденных ситуаций.
IgorKossak
Цитата(defunct @ Oct 27 2008, 16:02) *
Работайте по прерыванию не будет непредвиденных ситуаций.

Нет прерывания на stop, ибо stop выполняется безусловно, как дёргание ногой.
Чтобы не было ошибок надо корректно обрабатывать предыдущее событие ACK\NO ACK.
Тем не менее, после stop надо выдержать паузу согласно техническому описанию на ту МС, которой управляет наш мастер.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.