Например TDA7294

Форум РадиоКот • Просмотр темы - Ассемблер (ASM) для AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 14:18:38

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7597 ]     ... , , , 314, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт окт 27, 2017 08:50:34 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Пт янв 18, 2013 15:11:02
Сообщений: 516
Рейтинг сообщения: 0
Всем спасибо буду пробовать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс окт 29, 2017 10:02:47 
Первый раз сказал Мяу!

Зарегистрирован: Вс июн 19, 2016 06:31:18
Сообщений: 24
Рейтинг сообщения: 0
Всем добрый день подскажите пожалуйста
в описании модуля USART tiny2313 есть такой пример приема кадра длинной 9 бит

USART_Receive:.
; Ожидаем пока данные будут получены
sbis UCSRA, RXC
rjmp USART_Receive
; Получаем статус и 9-й бит данных, а затем остальные данные
in г18. UCSRA
in r17, UCSRB
in r16, UDR
; Если ошибка, возвращаем -1
andi r18, (1«FE) | (1«D0R)| (1«UPE)
breq USART_ReceiveNoError
ldi r17, HIGH(-1)
ldi г16, L0W(-1)
USART_ReceiveNoError:
Выделяем 9-й бит и возвращаем полученные данные
Isг г17
andi г17, 0x01
ret

в данном примере не понятны две строки

ldi r17, HIGH(-1)
ldi г16, L0W(-1)

а точнее возвращаемые значения -1

HIGH(-1)
L0W(-1)

то есть как компилятор переведет -1 в двоичный код?

и для чего -1 записывается в регистры r17, r16?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс окт 29, 2017 10:57:50 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 842
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5597
Откуда: Minsk
Рейтинг сообщения: 0
Компилятор вообще переводит весь исходник в двоичный код :)) Зачем такая мудреная запись - не знаю, то же самое было бы
Код:
ldi   r16,0xFF
ldi   r17,0xFF
Это просто забивание r17, r16 единичками. Видимо, признак ПРИНЯТО С ОШИБКОЙ.

_________________
Изображение


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс окт 29, 2017 19:03:34 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Забивается на выход невалидное значение, чтобы приложение потом у себя поняло что произошла ошибка, а не какие-то данные были приняты. Иначе в старшем байте старший бит(а в идеале все с 1-го по 7-й) точно должен быть равен нулю.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб ноя 04, 2017 06:23:34 
Первый раз сказал Мяу!

Зарегистрирован: Вс июн 19, 2016 06:31:18
Сообщений: 24
Рейтинг сообщения: 0
а как понять запись
HIGH(-1)
L0W(-1)


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб ноя 04, 2017 06:49:23 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Куда то определить, занести -1=0xFFFF.
Тоже самое, но для 4 байт -1=FFFF FFFF
BYTE4(-1)
BYTE3(-1)
BYTE2(-1)
BYTE1(-1)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб ноя 04, 2017 10:06:04 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
LOW Младшая часть слова.
HIGH Старшая часть слова.
16 бит.

BYTE1
BYTE2
BYTE3
BYTE4
Соответственно байты по старшинству 32-битное число.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб ноя 04, 2017 12:18:30 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
LOW Младшая часть слова.
BYTE1
BYTE2
BYTE3
BYTE4
Соответственно байты по старшинству 32-битное число.

BYTE4 -старший
BYTE3
BYTE2(HIGH)
BYTE1(LOW) -младший

.EQU BT4_1=-123456789 ;F8A4 32EB
.ORG 0
LDI R20,BYTE4(BT4_1)
LDI R21,BYTE3(BT4_1)
LDI R22,BYTE2(BT4_1)
LDI R23,BYTE1(BT4_1)
Изображение


Вложения:
byte4_1.png [6.45 KiB]
Скачиваний: 813
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб ноя 04, 2017 12:24:12 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
И? Вам трудно было сразу написать, как положено, чтобы потом не было вопросов?
Или вы по асму что-то новое хотели мне сказать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб ноя 04, 2017 14:49:25 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Вы залезли с фигнёй типа "байты по старшинству", потому и написал...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб ноя 04, 2017 14:51:56 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Вы залезли фигнёй типа "байты по старшинству", потому и написал...

??? BYTE1 - младший, BYTE2 - следующий. Что непонятно?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 26, 2017 05:46:16 
Первый раз сказал Мяу!
Аватар пользователя

Карма: 2
Рейтинг сообщений: 5
Зарегистрирован: Чт дек 07, 2017 04:44:22
Сообщений: 20
Рейтинг сообщения: 0
два вопроса, простой и сложный, начну с обоих :write:

LPM Rd, Z
какой диапазон для Rd? 0...31 или 16...31?

LPM Rd, Z+
будет ли инкрементить Z(high) c переполнением Z(low)?

_________________
..всего две 6Ф1П, включенные последовательно,
высушат обое ваших сапог даже в автомобиле..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 26, 2017 06:26:21 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
леМурр писал(а):
LPM Rd, Z
какой диапазон для Rd? 0...31 или 16...31?

0-31. То есть, можно даже в регистры ZL, ZH. Естественно, как указатель после этого использовать нельзя, нужно заново записать адрес.

леМурр писал(а):
LPM Rd, Z+
будет ли инкрементить Z(high) c переполнением Z(low)?

Эта команда для регистровой пары. То есть, если младший ZL перешел через 0xFF, ZH автоматом инкрементируется.

На заметку: описание команд AVR.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 26, 2017 19:00:12 
Первый раз сказал Мяу!
Аватар пользователя

Карма: 2
Рейтинг сообщений: 5
Зарегистрирован: Чт дек 07, 2017 04:44:22
Сообщений: 20
Рейтинг сообщения: 0
Demiurg писал(а):
На заметку: описание команд AVR.

Ух ты, спасибо за линк
<< 8-bit AVR Instruction Set >>
выпуск 1997/05/02 (в редакции 2005/11/02-oborgan)


Спокойненько пользовался прежним мануалом
AVR Enhanced RISC Microcontrollers Data Book: 5.
<< 8-bit AVR Instruction Set >>
выпуск 1996/08/28 (в редакции 1996/10/03-Atmel)

получается, там кой-чего пропущено, в мелочах...

А насчет WORD-а ZH:ZL когда-то читал в сети
ругань, один японец не обнаружил инкремнта
в старшем, предположил что сильно разогнал
проц., короче, мутная история...

_________________
..всего две 6Ф1П, включенные последовательно,
высушат обое ваших сапог даже в автомобиле..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт дек 26, 2017 22:03:15 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
А ещё сделал для себя такую шпаргалку :
Вложение:
ATMEL - все инструкции.pdf [173.5 KiB]
Скачиваний: 346

Лист А4: распечатать на двух сторонах, заламинировать и пользоваться. Если зрение хорошее, можно попробовать уменьшить до А5, но ИМХО не стоит.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср дек 27, 2017 07:22:08 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Небольшое уточнение. LPM не у всех МК работает со всеми регистрами. Не помню точно, то ли у старых МК, то ли еще и у тинек. В этом случае так:
lpm // Загрузка данных в регистр r0.
Уточняйте в даташите на конкретный МК.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср дек 27, 2017 08:46:50 
Первый раз сказал Мяу!
Аватар пользователя

Карма: 2
Рейтинг сообщений: 5
Зарегистрирован: Чт дек 07, 2017 04:44:22
Сообщений: 20
Рейтинг сообщения: 0
Alexeyslav писал(а):
...распечатать на двух сторонах, заламинировать...

Кому-как, а я ставлю "лайк". Тем более, что и сам давно затеял подобное,
правда, для каждой AVR-ки индивидуальный набор команд, чтобы хоть в
различиях не путаться по ходу, одна беда, каждый файлик до чистового
варианта так и не доведён :dont_know: сядешь-бывало писать, и вся эта красота
вмиг откладывается "на потом" :tea:

Demiurg писал(а):
...LPM не у всех МК работает...

Полностью согласен, имея LPM, вовсе не обязательно пользовать LPM Rd, Z
хотя с последней в паре идёт LPM Rd, Z+ которая облегчает автоматически
"намайнить" кучу констант, и вообще... имея толстенный ROM, я бы и сам
натолкал его всякими таблицами, графикой :) плюс музон (опционально)

_________________
..всего две 6Ф1П, включенные последовательно,
высушат обое ваших сапог даже в автомобиле..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср дек 27, 2017 09:40:37 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
LPM у всех работает, это SPM нет у тинек.

Цитата:
для каждой AVR-ки индивидуальный набор команд
Вообще у них минимальные отличия чтобы зря тратить бумагу, проще индивидуальные особенности отметить как исключения.
Например как отсутствующая команда SPM у семейства TINY, наличие "длинных" переходов только у контроллеров с большим объёмом флеша, команды MUL*. И только для старших контроллеров типа XMEGA и 32-х битных уже пожалуй надо отдельный листок.

Вообще у контроллера нет отдельной команды LPM - это всего лишь алиас на команду LPM R0, X. Точно так же как нет и команды CLR Rx, на самом деле это команда XOR Rx, Rx.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср дек 27, 2017 09:53:02 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Вообще-то последняя редакция системы команд Atmel-0856-AVR-Instruction-Set-Manual от 11.2016 года (или версия Atmel-0856L-AVR-Instruction-Set-Manual вот по этой ссыли http://ww1.microchip.com/downloads/en/d ... manual.pdf).
8)
Тиньки РААЗНЫЕ бывают... (насчет "нет SPM")
Та же attiny13A, к примеру (см. 8126E–AVR–07/10 стр.161)
:wink:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср дек 27, 2017 10:35:34 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Добавлю. Не забыть запрограммировать FUSE-бит SELFPRGEN при применении команды SPM. И почитать соответствующий раздел DS.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7597 ]     ... , , , 314, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y