Цитата(ksv198 @ Jan 28 2006, 12:51)

Позвольте с вами не согласиться. Согласно стандарта RS232 отклонение в программировании делителя может достигать +/- 10 % (можно легко найти стандарт и прочесть). В данном же случае имеем для 16 МГц и 19200 отклонение всего +0.2 % (согласно даташиту) и это очень хорошая точность.
Принимается, мне надо было написать "могут глючить", вместо "будут глючить".
Хорошая точность это 0.0%, и кварцев способных обеспечить данную точность пруд пруди.
Насчет 10% Вы вероятно погорячились, или это для 5-ти битовой посылки с двумя стопами?.
0.2% - допустимое отклонение, но здесь имеет место два отступления.
1. Схема собрана на монтаже, кварц припаян проводками, как следствие - частота неминуемо поплывет.
2. Кто говорит о 19200, что это за скорость такая? смешно ведь HDD на 19200 считывать..
Цитата
Реально работал по последовательному порту при отклонении 3 % и все было хорошо, при длине передаваемых блоков до 4 кБайт на скорости 57600.
Я думаю проблема может быть или в кварце (16 мегагерцовые иногда встречал очень низкого качества), или в программной реализации - возможно буфер передачи-приема портиться или из него не успевают прочесть.
Имею совершенно противоположный опыт, с блоками длиной всего 128 байт, кварц 16Mhz, UART на скорости 115200...
UART сбоит, почти каждый 2-й блок - ошибка CRC, а ведь согласно даташитам от Atmel на ATmegaXX для 115200 на 16Mhz ошибка составляет -3.5% (U2X=0) и соответственно +2.1% (U2X=1). И если верить Вашим словам, то должно быть все ок.
PS: просьба, когда советуете людям работать с тем чем не положено (т.е. заведомо, еще при разработке, закладывать в устройство ошибки, отклонения от стандарта и пр.), приводить ссылки на соотв. стандарты, а лучше всего описание от производителей устройств с которым предполагается работа, где четко сказано, что
гарантируется нормальная работа устройства/интерфейса с теми или иными отклонениями в рамках стандарта..