JTAG (02.12.2004 13:32, просмотров: 1) ответил Bill на :))) Без стоп-бита будет принят всего 1 байт. Так что считать ничего не нужно.
Без стоп битов могут быть больше одного байта поскольку break может быть больше 88us Получается алгоритм такой если принялся UDR=0 и бит
FE установлен, значит это начало пакета (т.е. сигнал break), причем
принятых нулей без стоп битов может быть несколько. После этих нулей без стоп битов может приняться любой байт, поскольку break может иметь различную длительность, как быть с этим, этот байт просто игнорировать?
Т.е. например длительность break 100us, длительность каждого бита 4us пусть к примеру байт передается 10 битами, низкий старт бит, 8 бит данных, высокий стоп бит.
Тогда в импульс break длительностью 100us уложится два нулевых байта с битом FE==1 (нулевой стоп бит) в сумме эти два байта дадут 80us, останется 20us следовательно считаетяся такой байт 0-старт бит 00001111 данные,1 стоп бит, и флажжок FE==0 (стоп бит нормальный). Что делать с эти байтом? Он в принципе
может иметь любое значение. И как его отличить уже от нужной последовательности байтов?