ЭФО предлагает со своего склада новую серию преобразователей интерфейсов USB UART компании FTDI FT232RNL-REEL

Макропрограммирование на 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-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей.
Ответ
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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

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