AVR Calculator

16/06/2016 - 15:30



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

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

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

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


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

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

Ссылка

AVR Calculator

Comments   

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

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

Я что-то не так делаю?
Code:
#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

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

Code:
OCR2 = 15;
TCCR2 = _BV(WGM21)|_BV(COM20)|_BV(CS22)|_BV(CS21);


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

Add comment