Например TDA7294

Форум РадиоКот :: Просмотр темы - UART 115Кбод на Мегах.
Форум РадиоКот
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) всегда имеют свою погрешность и температурные отклонения, кои добавляются к табличным.
8)

Автор:  Иван Михайлович [ Пн июл 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/