Цитата(sergeeff @ Jun 13 2008, 21:20)

Коллеги!
Столкнулся со странным явлением. Порт Usart0 работает в асинхронном режиме без hardware контроля (только RxD/TxD). К нему подключено некое устройство. При выключении устройстваб Usart0 принимает код 0x00, причем воспринимает это именно как байт данных, а не как RxBreak (бит взведен, но прерывания не возникает). Теперь внешнее устройство вновь включается. Мы посылаем в него n-байтную посылку. И тут выясняется, что первый байт из этой посылки передатчик шлет в линию два раза. Это совершенно четко показывает анализатор RS232, включенный между устройствами. Вопрос в том, почему первый байт посылается дважды? Дальнейшие обмены данными происходят без подобного явления.
Ну видимо, из-за того, что в сдвиговом регистре уже что-то было. USART0 вы выключили раньше, чем смогли обработать прерывание от передатчика. Так?