Форум РадиоКот https://radiokot.ru/forum/ |
|
UART 115Кбод на Мегах. https://radiokot.ru/forum/viewtopic.php?f=57&t=188911 |
Страница 1 из 1 |
Автор: | muravei_ [ Вт июн 27, 2023 13:39:11 ] |
Заголовок сообщения: | UART 115Кбод на Мегах. |
Все это было на ардуинах На 3в и 8 МГц 328 принимает только первый байт без ошибок на 115, а на 5в 16МГц 2560 работает. Почему? По ДШ там 3% ошибки на этих частотах и скорости. |
Автор: | OKF [ Ср июн 28, 2023 07:16:35 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
Наверно потому, что арифметику в школе не учили. На 8-ми погрешность -3,5%, а на 16-ти +2,1. |
Автор: | veso74 [ Ср июн 28, 2023 13:06:35 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
В помощь: WormFood's AVR Baud Rate Calculator Посмотрите на погрешность. Находитесь за пределами рекомендуемой ошибки. |
Автор: | OKF [ Ср июн 28, 2023 14:49:39 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
Только немножко врут эти калькуляторы. Причём, все одинаково. Видать под копирку делались.) |
Автор: | Starichok51 [ Ср июн 28, 2023 21:09:14 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
в даташитах на эти МК есть эти таблицы, причем, правильные. |
Автор: | Eleprekra [ Ср июн 28, 2023 21:10:19 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
Кстати, в avr-gcc давно есть заголовочный файл <util/setbaud.h> Если погрешность более 2%, компилятор выдаст предупреждение об этом. |
Автор: | Starichok51 [ Ср июн 28, 2023 21:30:34 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
я использую с кварцем 8 МГц скорость 250000 - нулевая погрешность. |
Автор: | OKF [ Чт июн 29, 2023 09:09:32 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
А я с кварцем на 16 имею 2000000/сек и чо?) |
Автор: | Starichok51 [ Чт июн 29, 2023 10:11:11 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
я рад за тебя. |
Автор: | DX168B [ Чт июн 29, 2023 10:34:35 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
Пользовался самописными макросами. Код: /* Макросы вычисления битрейта */ #define UBRR_SET(bps) (uint16_t)((F_CPU / (16 * bps)) - 1) #define UBRR_2X_SET(bps) (uint16_t)((F_CPU / (8 * bps)) - 1) /* Варианты применения */ /* При сброшенном бите U2X */ UBRR = UBRR_SET(9600ul); /* При установленном бите U2X */ UCSRA = _BV(U2X0); UBRR = UBRR_2X_SET(115200ul); F_CPU должен быть предварительно определен корректным значением тактовой частоты. |
Автор: | COKPOWEHEU [ Чт июн 29, 2023 12:02:23 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
У вас округления нет. Код: #define UBRR_SET(bps) (uint16_t)( ((F_CPU / 8 / (bps) + 1)/2) - 1) #define UBRR_2X_SET(bps) (uint16_t)( ((F_CPU / 4 / (bps) + 1)/2) - 1) Код: (U2X=0)
F_CPU = 12000000 baudrate = 115200 UBRR = 5 6 err = 8.5 % -7.0 % (U2X=1) F_CPU = 4000000 baudrate = 57600 UBRR = 7 8 err = 8.5 % -3.6 % |
Автор: | BOB51 [ Чт июн 29, 2023 19:52:11 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
Кварцы у адуринкоподобных (да и неспециализированные под UART) всегда имеют свою погрешность и температурные отклонения, кои добавляются к табличным. ![]() |
Автор: | Иван Михайлович [ Пн июл 24, 2023 16:30:04 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
В ардуинах стоят керамические резонаторы, у которых стабильность частоты в десятки раз ниже, чем у кварцевых. |
Автор: | ~Dimon~ [ Пн июл 24, 2023 17:02:09 ] |
Заголовок сообщения: | Re: UART 115Кбод на Мегах. |
Ну а кварц правильный поставить? 9,216МГц в продаже встречаются, 328-я с ним будет работать от 2,7в. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |