[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
>> call SendNack ; Посылаем подтверждение приема.
>>
>>+++ А почему NACK? Ведь надо ACK, а то передатчик не будет больше ничего посылать.
Нет, уважаемый коллега, вот тут Вы не правы. Здесь нужно передавать NACK
>> call I2CStop ; Выдаем "СТОП"-условие.
Именно для того, чтобы можно было сделать STOP. АСК выдается в подтверждение всех байтов, кроме последнего.
С аппаратным I2C в пиках не работал, поэтому на исходное сообщение посоветовать ничего не могу.
Не совсем понятно, зачем в I2CRecive дважды ожидается установка SSPIF. Это раз. Второе (не уверен). Не следует ли перед началом приема занести в SSPBUF число 0xFF?
E-mail: info@telesys.ru