Лeшик (18.10.2005 06:17, просмотров: 4543)
Интересная штука с использованием UART Сделал что-то типа терминала. 7-ми битная передача, even, 2 стопа. Проблема в том, что при приеме на ПК в любом мониторе (например RS232pro) наблюдаю искажение предпоследнего символа. Те посылка должна заканчиваться 0х20, 0х0D. А вместо этого принимаю, то 20, то 50. Причем никакой последовательности и от чего это зависит, понять не могу. Это происходит и на 4433 и на мега8, на разных мах-ах. В общем от железа, шнуров и тп не зависит. Все остальные байты передаются без искажений. Посмотреть реальную передачу сейчас не начем. Есть какие нибудь мысли? Может чего при окончании передачи с UART делать надо? У меня при старте происходит инициализация. Дальше просто передаю байты по мере необходимости...
Потому что:
void _End(void)
{
TxByte(0x20);
TxByte(0x0D);
}
при компиляции типа:
_End();
_End();
_End();
принимается:
0х20, 0х0D, 0х20, 0х0D, 0х50!!!, 0х0D
подключение встроенных команд для работы с UART ничего не меняет...