Например TDA7294

Форум РадиоКот • Просмотр темы - Программа для расчета значения регистра UBRR USART AVR
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 17:23:21

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Пн янв 30, 2017 22:43:21 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт ноя 18, 2011 18:43:01
Сообщений: 64
Рейтинг сообщения: 0
Уважаемые Коты! Для удобства расчета регистра скорости передачи данных USART своял небольшую программу. Выкладываю может кому пригодится. Проект в среде Visual Studio 2015 Community. Проект с открытым кодом, можно изменять, дополнять и прочее. Интерфейс простой думаю разобраться труда не составит. Для запуска открыть файл приложения \visual studio 2015\Projects\Расчет USART\Расчет USART\obj\Debug\Расчет USART. Так как студия новая работать будет в ОС Windows 7, 8, 10.


Вложения:
Расчет USART.rar [188.29 KiB]
Скачиваний: 193
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 06:44:38 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
терпение превозмогает всё. иногда терпение превозмогает и рассудок. © К.Прутков

в стандартной поставке AVR Toolchain (и даже в WinAVR) имеется файлик setbaud.h, который решает все проблемы с расчетом значений регистров USART... всего-то надо ознакомиться с документацией на инструмент, и тогда не придется делать приспособление к молотку для закручивания шурупов.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 07:06:01 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 1
Писать программу для компьютера, да еще на бейсике, да еще такого размера! Когда достаточно 1 строчки макроса... ну 2-5 если с проверками и присвоениями.
#define UART_UBRR(baud) ((F_CPU/4/(baud)+1)/2)
И все! При сильном желании можно хоть на лету менять скорость обмена (но лучше, конечно, вычислять в программе, а не макросе), при изменении частоты кварца не надо ничего пересчитывать.
ARV, вы правы, конечно, есть такой файлик, но одну формулу можно и в код вставить.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 07:13:59 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 390
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7010
Откуда: Ижевск
Рейтинг сообщения: 0
ATrosh, всё это, конечно, похвально и т.п. А вы тестировали результаты своей программы? Насколько результаты соответствуют данным из даташитов? А-то, знаете-ли, в интернетах полно всякого.

_________________
Docendo discimus


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 07:24:21 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
COKPOWEHEU писал(а):
но одну формулу можно и в код вставить.
так файлик тот по сути и есть одна формула. зачем делать свою, если при этом есть шанс ошибиться (например, многие не понимают, зачем UL в конце числовых констант)? ну и если уж совсем честно, то там еще есть бит "удвоенной скорости", старший-младший байты... так что в итоге будет не одна формула, а чуток поболе...

я юзаю файлик :)))

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 07:44:00 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт ноя 18, 2011 18:43:01
Сообщений: 64
Рейтинг сообщения: 0
На счет рассудка надо подумать :) . Если у меня паранойя это не значит, что мне ничего не угрожает.
Зачем это надо:
- больше нравится писать на ассемблере, может там и есть какая нибудь фишка для расчетов
- на графике без расчетов можно прикинуть какая частота больше подходит к нужной скорости передачи с наименьшей ошибкой, наверно не лишне
- то что на бейсике так это в новой студии не имеет значения, дело в привычке. А мне для тренировки.
- формула расчета как раз из описания ATTiny2313


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 07:59:38 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
COKPOWEHEU писал(а):
...#define UART_UBRR(baud) ((F_CPU/4/(baud)+1)/2) И все!..
Неправильно.
СпойлерИзображение
Вложение:
UBRR.PNG [44.86 KiB]
Скачиваний: 564


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 08:11:34 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
akl писал(а):
Неправильно
началось в колхозе утро! :))) о чем я и говорил. файлик - наше всё :)))

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 08:51:20 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ATrosh писал(а):
Для удобства расчета регистра скорости передачи данных USART своял небольшую программу.
viewtopic.php?p=2893437#p2893437

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 16:05:54 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Цитата:
ну и если уж совсем честно, то там еще есть бит "удвоенной скорости"
Может хоть вы объясните, зачем нужна одинарная скорость?
Цитата:
Неправильно.
С ходу ошибки в макросе не замечаю. Ткните носом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 21:11:04 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт ноя 18, 2011 18:43:01
Сообщений: 64
Рейтинг сообщения: 0
Кто подскажет где искать AVR Toolchain в 7 Студии?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 21:15:32 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
напишите #include <util/setbaud.h>, а затем зажмите Ctrl и кликните на этом тексте - если студия на самом деле так хороша, как о ней говорят, у вас откроется этот файл... ну и можно будет понять, по какому пути он открылся - в свойствах...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Вт янв 31, 2017 21:56:44 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт ноя 18, 2011 18:43:01
Сообщений: 64
Рейтинг сообщения: 0
Если я правильно понял необходимо сперва проект на С создать. Если asm то открыть калькулятор :?

Добавлено after 11 minutes 42 seconds:
Ладно, закроем тему. Пустые разговоры. Рассчитать значение регистра можно и бумажке. Идея была как быстро прикинуть на этапе проектирования.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Ср фев 01, 2017 05:59:41 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
ATrosh писал(а):
Рассчитать значение регистра можно и бумажке.
Ассемблер прекрасно справляется и без бумажки.
Код:
.equ   F_CPU=14745600
.equ   BAUD=230400
;----------
   LDI   XH,HIGH((F_CPU/4/(baud)+1)/2)
   LDI   XL,LOW((F_CPU/4/(baud)+1)/2)   ; "макрос" от COKPOWEHEU заносит 8 и скорость 204800???
;----------
   LDI   YH,HIGH(F_CPU/8/BAUD-1)
   LDI   YL,LOW(F_CPU/8/BAUD-1)         ; выражение из DS заносит 7 и скорость 230400!!!
;----------
   OUT   UBRRH,YH
   OUT   UBRRL,YL
;*************************************************


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программа для расчета значения регистра UBRR USART AVR
СообщениеДобавлено: Ср фев 01, 2017 07:33:06 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Все, понял, там не +1 а -1 должно быть. Писал из головы, немудрено ошибиться. Это округление, для "некруглых" кварцев дает более точный результат.
#define UART_UBRR(baud) ((F_CPU/4/(baud)-1)/2)
Вывод формулы из даташитовской:
F_CPU/8/b - 1 --> (F_CPU/8/b - 1) + 0.5 --> (F_CPU/4/b - 2)/2 + 1/2 --> (F_CPU/4/b - 2 + 1)/2 --> (F_CPU/4/b - 1)/2
Цитата:
Ассемблер прекрасно справляется и без бумажки.

В ассемблере тоже есть макросы, причем в avrasm2 или avr-as даже gcc-шные.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y