AVR Calculator

16/06/2016 - 15:30



Написал небольшое Android приложение для AVR разработчиков. Оно позволяет рассчитывать значения регистров некоторых аппаратных модулей AVR микроконтроллеров, необходимых для задания их конфигурации.

С помощью этого приложения можно:

- рассчитывать значения TCNT и OCR регистров таймеров для заданного периода/частоты
- рассчитывать значения UBRR регистра для USART/UART модуля
- рассчитывать значение TWBR регистра для TWI модуля
- преобразовывать аналоговое напряжение в цифровое значение ADC
- конвертировать бинарные, десятичные и шестнадцатеричные цифры.

Приложение интуитивно понятное и не требует каких-либо инструкций по применению, если вы работаете с AVR и понимаете о каких регистрах идет речь.


Если расчетное значение меньше нуля, то в поле результата отображается прочерк «-».
Если расчетные значение больше допустимого, то в поле результата отображается надпись «overflow», то есть переполнение. При длительном нажатии на поле ввода «Baud rate» отображается окно со списком всех возможных скоростей.

Приложение бесплатное, без рекламы.

Ссылка

AVR Calculator

Комментарии   

# foxit 17.06.2016 17:49
Привет.
С возвращением!!!
Ответить | Ответить с цитатой | Цитировать
# Pashgan 18.06.2016 15:22
Привет, Коль.
Ответить | Ответить с цитатой | Цитировать
# foxit 18.06.2016 15:33
Привет.
Ждем новых статей!!!
Какие планы? STM? ПЛИС?
Ответить | Ответить с цитатой | Цитировать
# Pashgan 19.06.2016 20:35
По сайту никаких планов пока нет. Есть несколько переводов статей, но их надо доделывать.
Ответить | Ответить с цитатой | Цитировать
# 1000s 18.06.2016 14:45
Воу воу, ниужели воскрес сайт
Ответить | Ответить с цитатой | Цитировать
# Pashgan 18.06.2016 15:21
Сайт и так живет, пока я плачу за домен и хостинг.
Ответить | Ответить с цитатой | Цитировать
# Vit 12.07.2016 05:10
А вруг .... ну например деньги закончаться, или интерес потеряешь к сайту. Прощай сайт?
Может на всякий случай куда нибудь выложить бэкап сайта. Много полезных материалов тут собрано.
Ответить | Ответить с цитатой | Цитировать
# MSO 17.07.2016 15:50
Здравствуйте!
Калькулятор -- это хорошо. Но, может быть, не стОит, чтобы баннер мозолил глаза, находясь в верхней части? Попытка заработать не осуждается, но разумный автор программы не станет делать так, чтобы его приложение сносили из-за того, что "прямо в глазу" торчит мелькающий баннер, а не то, что тебе нужно.
Маленький совет...
Спасибо за понимание!
Ответить | Ответить с цитатой | Цитировать
# MSO 20.07.2016 14:56
Восьмиразрядный таймер, прескалер 64, в OCR0A 249, режим CTC... Частота дрыгания ножкой 250 Герц? Ды?
Ответить | Ответить с цитатой | Цитировать
# Pavel1981 24.08.2016 07:22
Еще бы калькулятор фьюзов!!!
Ответить | Ответить с цитатой | Цитировать
# САБ 01.09.2016 10:26
Никогда не понимал писателей подобных калькуляторов. Неужели сложно в программу вписать Код: UBRRH = ((unsigned)(F_CPU / (8.0 * BAUDRATE) - 0.5) >> 8) & 0x0F; UBRRL = ((unsigned)(F_CPU / (8.0 * BAUDRATE) - 0.5) >> 0) & 0xFF;И пусть компилятор считает сам. И если мне понадобится изменить скорость или частоту работы таймера - я изменю соответствующий #define вместо того, чтобы искать калькулятор, а потом искать в программе все места, куда нужно вставить магические цифры из этого калькулятора.
Ответить | Ответить с цитатой | Цитировать
# AGE 11.09.2016 02:04
Совершенно того-же мнения, но что-то мне подсказывает что Павел тренировался на кошках в деле андродописатель ства, так что не будем огульно кидаться помидорами.
Ответить | Ответить с цитатой | Цитировать
# Pashgan 21.11.2016 00:39
Так и есть. Тренировался на кошках.
Ответить | Ответить с цитатой | Цитировать
# Darth_Vader 20.11.2016 10:49
Добрый день!

Попробовал использовать ваш калькулятор.
Задача: получить меандр 1 kHz на выходе OC2 МК Atmega32
На выходе вместо 1 kHz всего 127 Hz.
Частота МК 8 Mhz
Фьюзы H:99, L:E4

Я что-то не так делаю?
Код:
#include <avr/io.h>

int main(void)
{
PORTD = 0;
DDRD = _BV(PD7); // настраиваем PD7 как вывод OC таймера Т2

TCNT2 = 225;
OCR2 = 30;

TCCR2 = _BV(WGM21)|_BV(WGM20)| // Fast PWM
_BV(COM21)| // настраиваем вывод OC2
_BV(CS22)|_BV(CS21); // предделитель 256

}
Ответить | Ответить с цитатой | Цитировать
# Darth_Vader 20.11.2016 10:49
ссылка на результат калькулятора
https://www.dropbox.com/s/0hlredj4vby1jdl/Screenshot_2016-11-20-15-39-08.png?dl=0
Ответить | Ответить с цитатой | Цитировать
# Pashgan 21.11.2016 00:38
Для получения 1000 Hz нужно установить режим СТС и настроить таймер на 2000 Hz.

Код:
OCR2 = 15;
TCCR2 = _BV(WGM21)|_BV(COM20)|_BV(CS22)|_BV(CS21);


В режиме Fast PWM таймер считает от 0 до максимального значения TCNT2. Получить в таком режиме меандр произвольной частоты не получится.
Ответить | Ответить с цитатой | Цитировать
# Darth_Vader 21.11.2016 18:16
Спасибо, всё получилось.
Хочу отметить, что при использовании внутреннего RC-генератора на выходе было 1040 Гц. С использованием внешнего кварца частота стала идеально точной.
Ответить | Ответить с цитатой | Цитировать
# Алексей33 25.11.2016 11:55
Да приложение это хорошо, но реклама всё таки его портит. Я пользуюсь html версией калькулятора и мне очень он нравится.
Ответить | Ответить с цитатой | Цитировать
# Jojo 28.11.2016 17:54
Там уже нет рекламы.
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий

Защитный код
Обновить