-= Александр =- » 09 янв 2008, 22:53
Сделать переключатель и подбирать вручную - стандартных скоростей не так уж и много.
А если хочется автоматики - сделать программную "эмуляцию" - тоесть ловить фронты и метки времени, а потом уже разгребать. Думаю на небольших скоростях все это в реальном времени можно прокрутить.
Еще у аппаратного USARTа есть такая хрень как байт статуса - он может сказать что ошибка - значит скорость не та. Но байт будет уже потерян. Да и не всегда ошибка будет - некоторые байты на одной скорости принимаются как другие на другой...
Про компаратор - глупости. Электрические параметры сигнала никак от скорости не зависят. Если ты передаешь FF на одной скорости, это будет примерно такой-же импульс как 0F или F0 на вдвое большей скорости. Если конечно всякие старт и стоп-биты не смотреть. А так наверно можно как-то измерить... Но пока будешь мерить - байт потеряешь, аппаратный UART настроиться и включиться мгновенно не сможет.
Я когда че-то ловлю - просто тупо пробую разные скорости по-очереди. Включаю, смотрю - если билибирда всякая - меняю. Обычно это сразу видно, когда вразумительный обмен идет. В 90% случаев оказывается что скорость 9600...
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.