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

 
 
> STR91x I2C - как послать NASK
vromanov
сообщение May 7 2007, 17:28
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 27-03-07
Пользователь №: 26 533



Подключаю к STR912 DS1631 (термодатчик). В соответсвии с даташитом, при получении байтов, после получения последнего байта надо передавать NASK вместо ASK. Как бы это провернуть?
А то DS1631 не получив NASK подвисает sad.gif. И его приходится сбрасывать (вручную) для продолжения работы.

Сообщение отредактировал vromanov - May 7 2007, 17:29
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vromanov
сообщение May 7 2007, 21:41
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 27-03-07
Пользователь №: 26 533



Что вы говорите.....
Берем первый попавшийся пример с сайта филипса и читаем

;* acknowledge bit. If NACK is received, the NO_ACK bit is *
;* set. If arbitration is lost or an error occurs during *
;* I2C_TRX_BYTE the function is exit with the I2C_ERR bit *
;* set. *
....
MOV I2DAT,#80H ;send NACK

Т.е. и филипс использует сокрашение NACK и его (NAСK) можно "передать" или "принять".

Что еще придумаем? smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 7 2007, 22:09
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(vromanov @ May 8 2007, 00:41) *
Берем первый попавшийся пример с сайта филипса и читаем

А зачем "первый попавшийся"? Есть вполне официальные документы, а не какие-то комментарии из двух слов к неким исходникам в АN писанные какими-то программистами. В спецификации I2C и в базирующихся на ней документах на контроллеры Philips понятия Negative ACK (NAK/NACK) отсутствует.
В документации на STR912, естественно, отсутствуют тоже. Есть Acknowledge и Non-Acknowledge.
Собственно Ваши проблемы и начались с того, что Вы захотели "Послать неподтверждение", вместо того, что бы "Не посылать подтверждение". Что совсем не одно и тоже и поскольку "Послать неподтверждение" принципиально не возможно на I2C, то этого действия Вы в документации на контроллер и не нашли. А я соответственно совсем не понял вопрос, о чем и написал в первом-же своем посте.
Цитата
Что еще придумаем? smile.gif

Это Вы сами c собой разговариваете?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 8 2007, 07:05
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Он нашел, потому так и спросил.
В STR91x это приблизительно так и выглядит. Надо явно установить бит посылки подтверждений и явно этот бит сбросить перед приемом последнего байта.
Но только фокус в том, что сбросить его надо еще когда начинаем принимать предпоследний байт.
Доку на STR91x пишут какие-то чурки из Туниса, так что удивляться не приходится.

Цитата(zltigo @ May 8 2007, 01:39) *
"Послать неподтверждение" принципиально не возможно на I2C, то этого действия Вы в документации на контроллер и не нашли.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vromanov   STR91x I2C - как послать NASK   May 7 2007, 17:28
- - zltigo   Цитата(vromanov @ May 7 2007, 20:28) Подк...   May 7 2007, 18:00
- - vromanov   Что сказал - понял. Просто именно такая терминолог...   May 7 2007, 18:05
|- - zltigo   Цитата(vromanov @ May 7 2007, 21:05) Что ...   May 7 2007, 18:09
- - vromanov   Не понимаю, при чем тут байт 06? STR912 автоматиче...   May 7 2007, 18:18
|- - IgorKossak   Цитата(vromanov @ May 7 2007, 21:18) Не п...   May 7 2007, 19:14
|- - zltigo   Цитата(IgorKossak @ May 7 2007, 22:14) Оч...   May 7 2007, 20:52
- - vromanov   Насколько я понял из ироничного ответа zltigo, бай...   May 7 2007, 20:03
|- - zltigo   Цитата(vromanov @ May 7 2007, 23:03) Наск...   May 7 2007, 20:19
- - vromanov   ЭЭЭЭээээ Вы там буковок в теме "I2C" не ...   May 7 2007, 20:33
- - vromanov   Ах вот вы к чему придрались! ) К сожалению, с...   May 7 2007, 21:02
|- - zltigo   Цитата(vromanov @ May 8 2007, 00:02) NACK...   May 7 2007, 21:15
|- - zltigo   Цитата(AlexandrY @ May 8 2007, 10:05) Он ...   May 8 2007, 07:54
- - vromanov   Также я его нашел в примерах кода на этом сайте, н...   May 8 2007, 08:00
|- - zltigo   Цитата(vromanov @ May 8 2007, 11:00) Такж...   May 8 2007, 08:38
- - vromanov   Я все-таки хотел получить совет о том как что-то с...   May 8 2007, 08:57
- - zltigo   Цитата(vromanov @ May 8 2007, 11:57) Те, ...   May 8 2007, 09:43


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

 


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


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