[an error occurred while processing this directive]
|
У меня тоже самое на ATmega16.
В спецификации на ИМС приведена формула вычисления содержимого регистра UBRR.
UBRR = Fosc/(16*BAUD)+1, где BAUD - частота в бодах.
Значения вычисленные, взятые из таблицы в спецификации на ИМС или сгенерированные с помощью помощника в СV приводили к одному и тому же результату - двойной частоте обмена (при этом бит U2X = 0).
Я сомневаюсь, что фирменная документация врет, но я пользовался куском примеро именно из документации. К тому же, когда СV сам генерирует "болванку", то уж тут я не причем.
Почему - не знаю, я с процессорами раньше дела не имел.
НО: если вычислять по формуле UBRR = 2*Fosc/(16*BAUD)+1, то все становится на свои места.
E-mail: info@telesys.ru