Цитата(SpiritDance @ Apr 18 2006, 07:44)

Например для арма в бутлоадере используют символ синхронизации (какой?) в начале передачи данных.Собственно подобное и нужно сделать для АВР.
В LPC используется символ '?'.
Цитата
Вопрос так как вычислять значение заносимое в UBR, при том что скорости нестандартные?Я так понимаю что надо знать всю таблицу возможных скоростей и собственно по ней определять какая же сейчас, так?
Таблицу знать не обязательно, вычислить значение UBR можно по формуле:
UBR = 1 + 1/16 * Fosc /(Скорость уарта)
А вот определить скорость уарта, необходимо с помощью таймера, на основе определения длительности одного импульса.
Вначале нужно использовать пины уарта как GPIO и анализировать поступающую информацию (выделить символ синхронизации, и определить длительность одного бита), на ее основе определить скорость, подставить в формулу, и только после этого инициализировать УАРТ.
Цитата
Интересно как можно извернутся, ведь например в тех же армах бутлоадер заранее "не знает" о частоте кварца?
и вам тоже нужно знать частоту кварца, иначе в формуле уравнения будет две неизвестных, и решить его не удастся.
Цитата
Для детекта скорости обычно используют символ 0xFF.
Далеко не лучший выбор. Т.к. такой символ есть ни что иное как всего лишь однин импульс (стартбит). Большая вероятность того, что любая помеха будет воспринята как такой (0xFF) символ.