Цитата(andk @ Dec 16 2005, 14:56)

Судя по всему, проиходит вот это:
байт СС ложится в сдвиговый регистр передатчика(начинает выдвигаться), UART говорит - "я свободен", берется следующий байт для помещения в регистр данных передатчика - АА - догадываемся что конец и спокойно сбрасываем UART (кстати - как ?)
Вообще говоря, враги давно придумали и протокол и символы для терминала - в начале таблицы ASCII есть STX, ETX,DLE,ACK,NAK
Процесс выглядит так:
STX--DATA--ETX
Для приемника STX - всегда старт и ETX всегда стоп.
Для устранения коллизий с данными есть DLE - т.е. если в данных обнаруживается STX или ETX или DLE вставляется DLE.
Если хочешь, могу выложить сишный код с реализацией этого протокола.
Если не сложно, то сбросьте код сюда iteris@yandex.ru
Байт 0xCC уходит, по прерыванию "я свободен" посылается байт 0x**, следующее прерывание "я свободен", программа видит байт 0xAA и сбрасываем UART так (переводя его на приём:
UBRRL = 5;
UCSRA = 0x01; // MPCM Bit set
UCSRB = 0x94;
UCSRC = 0xC6;
//XCK - Pin as input
DDRB &= 0xFE;
Цитата
Не пойму что имелось в виду "без 0x** байт 0xCC не передаётся".
Если я не передаю любой байт за 0xCC он на принимающий МК не приходит. Вообще создается впечатление, что очередной байт уходит только после записи в передатчик следующего байта.