AVRASM: Библиотека Подпрограмм общего назначения «GENPROCLIB.INC»

Библиотека «Подпрограмм общего назначения» содержит самые необходимые процедуры, нужные практически в каждом проекте: для Записи/Чтения памяти EEPROM; для Временной Задержки; и др.

Назначение

Данная библиотека написана на языке ассемблера, для компилятора AVRASM. Соответственно, она предназначена для разработки программных прошивок (firmware) на языке ассемблер, для микроконтроллеров Atmel AVR (8-bit).

Код библиотеки сейчас размещается в одном файле «genproclib.inc» и разделён по функциональным разделам. Внимание: в отличие от кода Макросов, код Подпрограмм — всегда и полностью ВКЛЮЧАЕТСЯ В СЕГМЕНТ КОДА программы — т.е. занимает место! Поэтому код разделён на секции, которые можно отключать директивами условной компиляции — чтобы оставить только те процедуры, которые реально используются:
.EQU _GENPROCLIB__EEPROM_ = 1 ; Процедуры Записи/Чтения памяти EEPROM
.EQU _GENPROCLIB__DELAY_ = 1 ; Процедуры Временной Задержки
.EQU _GENPROCLIB__RANDOM_ = 1 ; Генератор псевдослучайных чисел (ГПСЧ)
.EQU _GENPROCLIB__TIMER0_ = 1 ; Сервисные процедуры для Timer/Counter0

Для улучшения читабельности, код отформатирован в едином стиле (инспирированном «Atmel appnotes» и авторским чувством целесообразности). На каждую подпрограмму имеются комментарии: по Назначению, Параметрам и Побочным Эффектам (какие регистры задействованы, и как изменяются в процессе).

Код процедур — универсален, предназначен для всех микроконтроллеров AVR. (По крайней мере, была предпринята попытка сделать код универсальным. Пишите багрепорты, если что не так.) И вероятно, в будущем, библиотека будет ещё пополняться новыми функциями…

Код

Код библиотеки «genproclib.inc» опубликован на GitHub (это веб-сервис для хостинга IT-проектов и их совместной разработки), на условиях лицензии MIT (разрешительной opensource, т.е. практически без ограничений к использованию). Ответвляйтесь!

Зависимости: Данный код использует (и требует подключения) нестандартную внешнюю библиотеку: «Библиотека базовых Макроопределений (macrobaselib.inc)»… Последнюю версию которой можно скачать на GitHub

Обратите также внимание на «Шаблон нового проекта» — для старта разработки программной прошивки (firmware) на языке ассемблер, в среде «AVR Studio 4», для микроконтроллеров Atmel AVR. Этот код, также, опубликован на GitHub, на условиях лицензии MIT… Вы можете использоваться этот Шаблон для новых проектов прошивок. Код основан на идеях и рекомендациях DI HALT, создан и проверен «в бою»: при работе над реальным проектом. Это чистый шаблон, без прикладного кода. Код Шаблона также содержит единый стиль форматирования, и комментарии с рекомендациями и описанием секций кода…

Примечание: GitHub был выбран для распространения кода — как наиболее прогрессивный, удобный и функциональный метод взаимодействия opensource-разработчиков. Развивайте и дополняйте библиотеку — затем, сможете легко контрибутить…

Ликбез для неискушённых пользователей: те кто не используют системы управления версиями, могут просто скачать архив с кодом: нажав на кнопку «Download ZIP» на странице репозитория GitHub, по ссылкам выше.

Комментарии закрыты.