[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: Неа.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Сергей Борщ 11 марта 2002 г. 12:38
В ответ на: Ответ: отправлено AK 08 марта 2002 г. 10:58

>> call SendNack ; Посылаем подтверждение приема.
>>
>>+++ А почему NACK? Ведь надо ACK, а то передатчик не будет больше ничего посылать.
Нет, уважаемый коллега, вот тут Вы не правы. Здесь нужно передавать NACK
>> call I2CStop ; Выдаем "СТОП"-условие.
Именно для того, чтобы можно было сделать STOP. АСК выдается в подтверждение всех байтов, кроме последнего.

С аппаратным I2C в пиках не работал, поэтому на исходное сообщение посоветовать ничего не могу.

Не совсем понятно, зачем в I2CRecive дважды ожидается установка SSPIF. Это раз. Второе (не уверен). Не следует ли перед началом приема занести в SSPBUF число 0xFF?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru