http://forum.getchip.net/

Шаблоны для Билдера
http://forum.getchip.net/viewtopic.php?f=18&t=743
Страница 1 из 5

Автор:  GetChiper [ 12 май 2016, 23:14 ]
Заголовок сообщения:  Шаблоны для Билдера

Решил для облегчения жизни себе и Вам реализовать давнюю идею - шаблоны программ для Билдера.

Суть идеи в том, чтобы сделать набросок программы с уже присутствующими в папке исходника файлами-модулями с различными готовыми кусками кода.
Своего рода готовая библиотека алгоритмов сразу под рукой. Все модули максимально совместимы и по умолчанию работоспособны. Хорошо закомментированы и легки в правке.
Все модули максимально отвязаны от типа МК и его задающей частоты (хотя все-таки разделение по МК решил сделать, чтобы не запутывать пользователей модулями с несуществующей периферией). Все модули по минимуму используют регистры общего назначения, оставляя их для использования в основной программе.

Работу уже начал - выработал общий стиль для модулей и несколько прописал.
Создал Экселевский файл - помощник разработчика (частью с таблицей регистров общего назначения я уже давно пользуюсь, добавил расчет таймеров и АЦП). Во вложении оставил посмотреть.
Также в архиве будет лежать набросок схемы.

Хотелось узнать какие модули наиболее востребованы для Вас, чтобы их делать в первую очередь.

Сейчас готовы модули
- реализации программного ШИМ на любых ножках
- кнопки на любых ножках
- ИК приемник
- индикаторный светодиод
- задержки
- случайное число
- на подходе UART, Длинные таймеры, математика и преобразование строк

Пока все делаю под ATtiny2313, но как только все отлажу - перенести на планируемые тини13 и мегу328 - будет делом 10 минут.

В блоге завел специальную страничку-репозиторий где будут находится самые свежие архивы шаблонов
http://www.getchip.net/templates

Надеюсь и Вы подключитесь к работе по созданию библиотеки модулей (некоторые участники форума уже приняли участие - я их разработки включил в шаблон - конечно-же с соблюдением авторских прав :OK: ).

Как будет готов шаблон с отлаженными модулями (хочу их предварительно поганять в железе) я дам знать в этом топике.

Вложения:
t2313.xls [121.5 КБ]
Скачиваний: 366

Автор:  SVN [ 13 май 2016, 14:28 ]
Заголовок сообщения:  Re: Шаблоны для Билдера

Интересная идея! :OK:
Вопрос по файлу xls… сдвоенный регистр W (r24, r25) не указан, потому что не используется в шаблоне, или по иной причине?

Автор:  GetChiper [ 13 май 2016, 22:32 ]
Заголовок сообщения:  Re: Шаблоны для Билдера

в шаблонах, пока, в общем то, и X Y Z не используются
но W - это отдельная история - он не часто используется как сдвоенный регистр поэтому я его отдельно не выделял

Автор:  Igor60 [ 16 май 2016, 17:56 ]
Заголовок сообщения:  Re: Шаблоны для Билдера

Решил "приложить лапу". Тема интересна. Подобная мысль посещала, но ...
Добавил листочек с пинами ATmega328 и ARDUINO (MINI и NANO).
Буду рад, если пригодится.
Из за большого объема файла, пришлось кое чем пожертвовать...

Вложения:
t2313_M323_v1.zip [482.67 КБ]
Скачиваний: 152

Автор:  GetChiper [ 16 май 2016, 19:24 ]
Заголовок сообщения:  Re: Шаблоны для Билдера

Спасибо, забрал.
Все пойдет в работу.

Сейчас сижу набиваю удобные модули для первого шаблона - получается хорошо.
Удивляюсь почему раньше себе не сделал такой штуки - ведь это упростит создание программ на порядок!

Автор:  GetChiper [ 05 июн 2016, 23:36 ]
Заголовок сообщения:  Re: Шаблоны для Билдера

После переделанных раз пять шаблонов, наконец-то родился такой вариант который меня устроил.

На страничке шаблонов http://www.getchip.net/templates/ (теперь страничка видна в главном меню блога) можно скачать первую версию шаблона для Тини2313. После того как обкатаю для этого МК все модули (плюс дополнительные) будут перенесены на тини13 и мега328 (можно и на другие МК - потом видно будет)

Пока базовый набор модулей следующий:

- IR_Detect
Модуль принимает и обрабатывает ИК-посылки с любого бытового пульта посредством интегрального приемника TSOP4836 (или подобного)
Модуль умеет запоминать произвольное количество кнопок и выполнять заданные действия по их нажатию

- Wait
Модуль формирует задержки в программе

- LED
Модуль управляет индикаторным светодиодом

- RND
Модуль формирует случайное число

- Math
Реализует математические операции (на данный момент - умножение и деление)

- PWM_Out
Модуль формирует ШИМ-сигнал на произвольных ногах МК

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

- UART
Модуль выдает и принимает сообщения UART.
Реализованы выдачи строк в UART как напрямую указанных в вызове подпрограммы, так и по метке во Flash или в качестве переменной в SRAM.
Реализованы приемный и исходящий буферы (модуль работает в прерываниях как на прием строки так и на передачу - не останавливая процессов основной программы).
Модуль умеет отправлять в UART числовые значения в виде строки в десятичном, двоичном или шестнадцетеричном формате.

- BTimer
Модуль реализует произвольное количество независимых таймеров широких промежутков времени (от миллисекунд до суток)

Готов модуль для создания меню (его осталось опробовать в железе). Вышел тяжеловат как для тини2313, но зато очень легок в построении меню и его функционировании.

Вот так выглядит 3х уровневое меню (кроме этой структуры ничего дополнительно в модуле не нужно править - все заработает само)
Вложение:
sshot-1.png
sshot-1.png [ 20.33 КБ | Просмотров: 2802 ]


На очереди модуль LCD (если кто меня не опередит) :)

З.Ы. Обязательно прочитайте readme.txt для того чтобы понять как построены и функционируют модули

Автор:  GetChiper [ 11 июн 2016, 16:21 ]
Заголовок сообщения:  Re: Шаблоны для Билдера

на подходе дополнение шаблонов
- немного подправил некоторые существующие, плюс добавил пару новых

Автор:  yoda [ 02 июл 2016, 17:11 ]
Заголовок сообщения:  Re: Шаблоны для Билдера

Уважаемый GetChiper у вас в файлах m328.xls и t2313.xls на закладках Timer максимальное значение предделителя 1204 :shock: вместо 1024, и Пределитель вместо Предделитель.

Автор:  GetChiper [ 02 июл 2016, 19:48 ]
Заголовок сообщения:  Re: Шаблоны для Билдера

Спасибо!
Уже правлю...

... обновил шаблоны

Автор:  GetChiper [ 03 июл 2016, 01:04 ]
Заголовок сообщения:  Re: Шаблоны для Билдера

Пример применения шаблона http://www.getchip.net/posts/131-shablo ... da-knopki/

Страница 1 из 5 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/