Altinkaya: турецкие корпуса для РЭА

Макропрограммирование на AVRASM2

Новичок
 
Аватар для Dmitry122
 
Регистрация: 26.02.2009
Сообщений: 65
Репутация: 22
12 7
0 0
 
28.12.2016 11:21 #1
Предлагаю поделиться интересными макросами или приёмами макропрограммирования для компилятора avrasm2.
Вот пример использования рекурсии в макросах:
Код:
.list
.macro Ft
.if a != 1
	.set r = r * a
	.set a = a - 1
	Ft a

.endif
.endmacro

.macro Factorial
.set a = @0
.set r = 1
	Ft a

.endmacro

.cseg
	Factorial 7

	ldi r16,byte4(r)
	ldi r16,byte3(r)
	ldi r16,byte2(r)
	ldi r16,byte1(r)
Используя рекурсивный вызов и другие приёмы, можно писать довольно интересные вещи. Вот здесь макрос для инициализации портов ввода/вывода.http://www.avr-assm.ru/files/macro2.zip
Оценка
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Оценка этой теме
Оценка этой теме:
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 07:37.
Обратная связь РадиоЛоцман Вверх