Т.е. есть одно устройство (будет) - логгер. Будет тырить протоколы обмена. Нужно как-то организовать на АВР и соответвующей обвеске определение скорости УАПП. Может у кого-нибудь была такая головная боль?
Если знать что передается - то легко. Было у меня одно устройство - при подключении терминалки надо было нажать несколько раз пробел, оно по нему и выставляло скорость
Сделать переключатель и подбирать вручную - стандартных скоростей не так уж и много. А если хочется автоматики - сделать программную "эмуляцию" - тоесть ловить фронты и метки времени, а потом уже разгребать. Думаю на небольших скоростях все это в реальном времени можно прокрутить. Еще у аппаратного USARTа есть такая хрень как байт статуса - он может сказать что ошибка - значит скорость не та. Но байт будет уже потерян. Да и не всегда ошибка будет - некоторые байты на одной скорости принимаются как другие на другой...
Про компаратор - глупости. Электрические параметры сигнала никак от скорости не зависят. Если ты передаешь FF на одной скорости, это будет примерно такой-же импульс как 0F или F0 на вдвое большей скорости. Если конечно всякие старт и стоп-биты не смотреть. А так наверно можно как-то измерить... Но пока будешь мерить - байт потеряешь, аппаратный UART настроиться и включиться мгновенно не сможет.
Я когда че-то ловлю - просто тупо пробую разные скорости по-очереди. Включаю, смотрю - если билибирда всякая - меняю. Обычно это сразу видно, когда вразумительный обмен идет. В 90% случаев оказывается что скорость 9600...
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.