Например TDA7294

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





Текущее время: Чт апр 18, 2024 21:32:15

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7597 ]     ... , , , 346, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн май 20, 2019 09:07:25 
Грызет канифоль

Зарегистрирован: Сб янв 03, 2015 21:03:24
Сообщений: 266
Рейтинг сообщения: 0
asm volatile("sbi 0x18,0x07;");

котаны зачем волатиле писать ? в некоторых примерах без него

зачем ; первый после 7? в большинстве примеров нету ; внтури

в большинстве приеров вместо ; внутри \n а гдето и \n\t но работает и без всего это. зачем надо как правильно? нет я понимаю что n перенос строки а ; вообще оператор конца команды


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн май 20, 2019 10:07:37 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14056
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Это ассемблерная вставка на СИ, а не "чистый ассемблер" - там свои заморочки СИшные...
8)


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

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
alex68md, В данном конкретном случае volatile казалось бы не нужен (не изменяются никакие переменные).
Однако! GCC оптимизатор обладает оригинальной особенностью игнорировать оператор asm без volatile, если этот оператор не возвращает никаких значений. Так же, оптимизатор может легко вывести оператор asm за пределы цикла, чтобы не выполнять многократно код, который, по его мнению, никак на сам цикл не влияет. Поэтому, для надежности, volatile лучше писать всегда.

Точка запятой уже относится к ассемблеру - это символ начала комментария в конце строки (аналог // в C++). В данном случает не нужен, но и не мешает никак.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн май 20, 2019 13:18:48 
Грызет канифоль

Зарегистрирован: Сб янв 03, 2015 21:03:24
Сообщений: 266
Рейтинг сообщения: 0
ааа вот оно что спасибо!

а про \n \n\t в конце надо писать или можно без ?


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн май 20, 2019 14:04:31 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
alex68md, в ассемблере символ новой строки служит разделителем команд ассемблера. Поэтому в конце он никакого смысла не несет.


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн май 20, 2019 17:20:08 
Грызет канифоль

Зарегистрирован: Сб янв 03, 2015 21:03:24
Сообщений: 266
Рейтинг сообщения: 0
так если у меня две команды подряд
asm volatile("sbi 0x18,0x07");
asm volatile("sbi 0x18,0x06");
надо ставить \n ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн май 20, 2019 17:44:24 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
alex68md, если так, как написали Вы, то не надо. Надо если так:
Код:
asm volatile("sbi 0x18,0x07\n\t \
              sbi 0x18,0x06");


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн май 20, 2019 18:45:53 
Грызет канифоль

Зарегистрирован: Сб янв 03, 2015 21:03:24
Сообщений: 266
Рейтинг сообщения: 0
спасибо!

еще такой вопрос.
плата micro 32u4 (может это важно)
я експерементировал с записью в EIFR через ассемблер (на С этот трюк не проходил только на асм)
и как то (ну не както а через sbi 0x1C, 3) у меня получилось записывать флаг в ручную (когда он там ноль) т.е. я его взводил вручную (хотя вроде нельзя). компилировал старым ардуино 1.6.7 но потом обновился на последний иде - и уже не получается записать вручную. откатился обратно - тоже не получается. или магия какаято или я упускаю из виду какуюто важную деталь.
есть идеи как повторить этот трюк?


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

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Arduino конструктор из кубиков. Не более. Если есть желание разбираться глубже, ставьте AVR-Studio 4.19.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт май 21, 2019 09:25:11 
Грызет канифоль

Зарегистрирован: Сб янв 03, 2015 21:03:24
Сообщений: 266
Рейтинг сообщения: 0
это да. никто не спорит. можно расматривать ардуино как фреймворк как js angular например в мире яваскрипта. внутри ардуины всеравно avr с/с++ / компилятор avrdude и т.д.

у меня же вопрос именно к ГУРУ асемблера . которые програмируют на чистом асм.

ктo то может попробовать записать единицу (поднять флаг) не путать со сбросом. в регистр EIFR ? получается это у вас ?


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

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ктo то может попробовать записать единицу (поднять флаг) не путать со сбросом. в регистр EIFR ? получается это у вас ?

Да просто на фиг никому это не нужно было. В даташит ATMega328 сказано, что для сброса бита надо записать туда единицу. Каким образом при записи туда этой самой единицы он вместо сброса устанавливался - я без понятия. У меня всегда исправно единицой сбрасывается.


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

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4220
Откуда: Ижевск
Рейтинг сообщения: 0
Не гуру, но знаю что невозможно взвести флаг(и) программно. Программно эти флаги можно только сбросить, записью 1.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт май 21, 2019 11:13:11 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14056
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Бывают и исключения и/или спецприемы для программного вызова обработчика прерывания.
Чаще даже не через флаг.
:wink:
Как вариант - соединим вместе лапку отвечающую за INT0/INT1 с каким-либо выходом
и делаем соответствующую подпрограммку дрыголапа, инициирующую прерывание.
Линии запускающие прерывание объединяем как линии с ОК.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт май 21, 2019 11:27:48 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
BOB51 писал(а):
и делаем соответствующую подпрограммку дрыголапа, инициирующую прерывание.
Проще прыгнуть в обработчик прерывания .

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт май 21, 2019 11:32:21 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14056
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Только именно под чистым ассемблером.
:hunger:
У автора вопроса АДУРИНА и, по всей вероятности, рамки ее функционала.
А там вызвать обработчик независимо от прерывания (без глубоковлезания в СИ)...
Пока так не изголялся на таком уровне...
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт май 21, 2019 11:55:00 
Грызет канифоль

Зарегистрирован: Сб янв 03, 2015 21:03:24
Сообщений: 266
Рейтинг сообщения: 0
У автора вопрос ПОД ЧИСТЫМ АСМ
откуда вы взяли ардуина ? это я компилил через ардуину асмовскую вставку. просо мне так удобней

Как в чистом асме записать единицу в EIFR ?

Добавлено after 1 minute 54 seconds:
Faun как опытный асемблерщик может ответит ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт май 21, 2019 12:28:42 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Как в чистом асме записать единицу в EIFR ?

Для чего? По даташит - никак. Запись единицы в биты EIFR приводит к сбросу этих битов. Запись нуля не оказывает на них никакого воздействия.
На практике я наблюдаю полное соответствие поведения МК и даташит.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт май 21, 2019 13:47:54 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14056
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
EIFR - регистр аппаратного контроля состояния прерываний по INT0/INT1
Посему и возможные для него состояния:
аппаратный взвод флага при наличии прерывания по соответствующему условию (ежли прерывание разрешено);
аппаратный сброс флага по выходу из подпрограммы обслуживания прерывания или программный сброс флага.
8)
Просто надо почитать даташит да понять чего внутри МК происходить должно.
Да разницу между программно-управляемыми и аппаратно-управляемыми ресурсами МК освоить.
:tea:


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

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4220
Откуда: Ижевск
Рейтинг сообщения: 0
...аппаратный взвод флага при наличии прерывания по соответствующему условию (ежли прерывание разрешено)...
Уточню. Взвод флага прерывания осуществляется независимо от разрешенности оного. Условие выполнено - флаг аппаратно взводится. Программа решает сама как реагировать на это событие.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт май 21, 2019 15:09:45 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
alex68md, если бы пояснил зачем это надо, то наверняка найдется альтернативый способ решения "хотелки".

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


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

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


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

Сейчас этот форум просматривают: sla-nik и гости: 13


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

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


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