Страница 1 из 1
Несоответствие скорости USART заданной.
Добавлено: Пн май 18, 2009 01:44:04
Skrrmrchoh
Передатчик-Мега 8. Кварц- 4Мгц.
Кладу в UBRRL значение 0x0С. Это соответствует скорости 19200. Открываю терминал, принимаю. Принимается лабуда. Ставлю в терминале скорость 56000 или 57600- принимается четко то, что я отправил.
Кладу в регистр 0х33- должна бы быть скорость 4800, но опять лабуда. Работает на 14400.
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 19200
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x0c;
Где я ошибся?
Добавлено: Пн май 18, 2009 02:49:37
asteroid7
Перед установкой (сменой) скорости UART должен быть остановлен (UCSRB = 0), и только после запущен.
Добавлено: Пн май 18, 2009 03:30:05
Skrrmrchoh
Исправил, спасибо..Может, еще где- то я ошибся? Оно так и работает на 56к...При заданных 19...
Добавлено: Пн май 18, 2009 09:05:24
asteroid7
"...на 56к..." вы кварцем ошиблись.
19 это что? DEC или HEX? В принципе без разницы, скорость соответственно будет, 13156 или 9999.
В ДШ есть таблица "Примеры UBRR настройки для часто используемых частот". У меня это таблица 61. На кварце 4МГц приемлемы две скорости 250000 и 500000. Все остальные с ошибкой.
Добавлено: Пн май 18, 2009 12:38:12
DrWatson
Внимательно проверьте фьюзы, возможно работа идет от внутренней RC-цепочки, скажем 8МГц плюс коррекция допустим +50% вот и получается в 2,5-3 раза выше чем надо. А расчет коэффициента деления правильный. А ошибку менее 1% можно игнорировать если пакеты короткие.
Добавлено: Пн май 18, 2009 17:22:09
Skrrmrchoh
Заменил кварц, все в порядке. Спасибо.
Добавлено: Пн май 18, 2009 18:04:35
DrWatson
Вполне возможно конденсаторы не соответствовали кварцу и он заводился на 3 гармонике.
Добавлено: Вт май 19, 2009 14:26:46
Skrrmrchoh
Может..
Re: Несоответствие скорости USART заданной.
Добавлено: Ср май 19, 2010 11:27:29
RockWar
Скажите пожалуста, если в регистре 0х33 равно значению скорости 4800, то по какому принципу ведется расчет или есть какая нибудь таблица?
Re: Несоответствие скорости USART заданной.
Добавлено: Ср май 19, 2010 11:35:42
Meteor
Есть такой замечательный документ, называется даташит.
В нем содержатся ответы на 95% вопросов.
Например см. вложение
Re: Несоответствие скорости USART заданной.
Добавлено: Ср май 19, 2010 11:38:29
RockWar
Ага, понял, огромное спасибо