реклама на сайте
подробности

 
 
> TWI: как узнать момент завершения передачи Stop?
Diusha
сообщение Oct 24 2008, 16:31
Сообщение #1


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Нет у TWI в TWSR кода, соответстветствующего окончанию пересылки команды Stop (речь идет о Master`e). Если попытаться Start`овать пока Stop еще не закончилась, то вместо Stop`a co Start`ом получается Repeated Start. Кто-нибудь знает, как этого можно избежать без использования дополнительной задержки?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
Diusha
сообщение Oct 25 2008, 13:34
Сообщение #2


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



О, догадался тестировать флаг TWSTO. Он сбрасывается после стопа. Помогло, но не до конца. В 6 случаях из 100 все равно получается RepS почему-то. Что, неужели никто не сталкивался?
Go to the top of the page
 
+Quote Post
ASZ
сообщение Oct 25 2008, 18:47
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Цитата(Diusha @ Oct 25 2008, 16:34) *
О, догадался тестировать флаг TWSTO. Он сбрасывается после стопа. Помогло, но не до конца. В 6 случаях из 100 все равно получается RepS почему-то. Что, неужели никто не сталкивался?

Наверное, не окончена обработка прдыдущего зароса.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Oct 26 2008, 04:51
Сообщение #4


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



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

Однозначно закончена. Именно по ее окончании и инициируется следующий
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Oct 27 2008, 05:29
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



А чем плох Repeated Start?
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Oct 27 2008, 07:57
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Цитата(Diusha @ Oct 25 2008, 17:34) *
В 6 случаях из 100 все равно получается RepS почему-то. Что, неужели никто не сталкивался?


Да сталкивались, конечно... В программе ошибка. Потому что 6 из 100 - очень странная статистика.
И, не зная ни типа МК, ни рабочей частоты, ни с кем он общается, ни даже на чём написана программа, не говоря уже об исходнике - кто что скажет?
Go to the top of the page
 
+Quote Post
defunct
сообщение Oct 27 2008, 14:02
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Diusha @ Oct 25 2008, 16:34) *
Что, неужели никто не сталкивался?

Работайте по прерыванию не будет непредвиденных ситуаций.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 27 2008, 17:29
Сообщение #8


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



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

Нет прерывания на stop, ибо stop выполняется безусловно, как дёргание ногой.
Чтобы не было ошибок надо корректно обрабатывать предыдущее событие ACK\NO ACK.
Тем не менее, после stop надо выдержать паузу согласно техническому описанию на ту МС, которой управляет наш мастер.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 23:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.03302 секунд с 7
ELECTRONIX ©2004-2016