Например TDA7294

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

Текущее время: Ср авг 20, 2025 15:33:53

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7956 ]     ... , , , , 398
Автор Сообщение
В сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт дек 19, 2024 19:57:08 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2920
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18774
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 2
Медали: 1
Лучший человек Форума 2017 (1)
OKF, почитал статью.
получается, что у меня голимый быдлокод. я открывающую фигурную скобку всегда делаю в новой строке.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт дек 19, 2024 20:18:42 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15137
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Интересно...
Что ж тогда ОКF до нас то снизошёл в споре?
8)
Исключительно академический подход без всяких вариантов на попытки - во истину "шаг влево, шаг вправо - одно БЫДЛО"...
Как то не слишком вежливо звучит...
:twisted:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт дек 19, 2024 22:08:34 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2919
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 24017
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
OKF, почитал статью.
получается, что у меня голимый быдлокод. я открывающую фигурную скобку всегда делаю в новой строке.

Старичок, успокойтесь... Я тоже.
Это шутливая статья, как и вся Лурка. Просто стеб.
и чесно говоря осознанный отказ от таймеров, точнее от прерываний по таймерам (таймеры то обычно есть в msc чипе)
не является для меня однозначным признаком быдлокодирования

А это и не является быдлокодированием. Это является исключением. И потому его не стоит пропагандировать как правило. Мы же обсуждали не вообще отказ от таймера, а отказ от СИСТЕМНОГО таймера в СЛУЧАЕ разного рода опросов кнопок, светодиодов и т.п. шняги.
А так и я синтезировал радиоимпульс (синусоидальный импульс) линейным кодом в примитивном МК. Иначе я бы не смог получить столько отсчетов сигнала.


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

Карма: 31
Рейтинг сообщений: 819
Зарегистрирован: Пт сен 10, 2021 15:19:36
Сообщений: 5620
Откуда: Протвино
Рейтинг сообщения: 0
Цитата:
Ассемблер (ASM) для AVR в вопросах и ответах

Цитата:
я открывающую фигурную скобку всегда делаю в новой строке.

Цитата:
Старичок, успокойтесь... Я тоже.

:facepalm: чурменя :))

wc ~/data/devel/pan2/x213.asm
1529 3567 31967 ~/data/devel/pan2/x213.asm
grep -ce'\{' ~/data/devel/pan2/x213.asm
0

еще можно обсудить { на новой строке в питоне например :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 20, 2024 13:37:28 
Встал на лапы

Зарегистрирован: Сб июл 30, 2011 21:00:24
Сообщений: 115
Рейтинг сообщения: 0
У вас основной цикл тормозится на 60ms, а если третье сравнение проваливается, то прыгаем в начало и ждем еще минимум 60ms. Если такое происходит раз в секунду, то 12% производительности потеряно, причем это верно как для 16 MHz AVR, так и для 1GHz ARM. Смысл писать такое на ассме, если интерпретатор бейсика работает быстрее ? ) И что будет вызываться в основном цикле помимо опроса кнопок заранее не известно, далеко не факт, что с паузой 160ms оно будет работать, потому один раз пишется нормальная функция опроса кнопок, которая работает практически всегда.

Я бы не стал считать проценты производительности, а исходил из решаемой задачи.
Скажем, какой-нибудь прибор-измеритель, основной цикл – 10 мс и чётко определён, а выводить информацию на табло надо раз в секунду, чтобы цифры не мелькали. Будет цикл 10 мс или 160 мс – без разницы.
Если всё же пауза будет недопустимой, то можно сделать с прерыванием по таймеру, я ведь не против. Немного будет посложнее, но это мелочь.
Можно ввести три переменные в SRAM для отсчётов и байт, в котором номер отсчёта. Тоже всё просто.
Последнее время пришлось много заниматься проверкой разных подпрограмм на макетной плате. При отладке на макетке кнопки без всяких таймеров очень удобны, никаких проблем с отлаживаемой программой, а подключить кнопки к программе – несколько минут.
Так что для некоторых задач такое решение - «на грани абсурда», для других задач – то, что надо.
В этом плане для меня ваша единая нормальная функция опроса кнопок сильно сомнительна.
Если всё же надо быстро выскочить из программы, есть ведь задержки с флагом. При установке флага можно выскочить из программы, наверно, тоже где-то за 1 мкс.

Все можно, только теперь ваша программа уже не будет такой простой )


Что ж там сложного?
Будет что-нибудь вроде такого:

Delay_T 30 ms
BRTC L_0
RET
L_0:
…….. ‘Продолжение программы

Delay_T – задержка с флагом Т. При установке бита Т (регистр SREG) программа быстро выскочит из Delay_T. Встроенной такой функции пока нет (так-то есть), но появится, нередко бывает нужна.
Таймер найдется всегда. Если он вообще есть в МК. На крайняк это может быть 100 Гц сети заведенные на внешнее прерывание. Делать плавающий опрос - это очень плохая идея. Как правило, клавиатуры/кнопки сопровождают светодиоды, которые тоже традиционно мультиплексированы. Опрос традиционно общий.
Вы пытаетесь доморощенное частное решение пропагандировать как верное. Еще раз повторю - это смешно.

Таймер может быть занят. Один ШИМ-ом, другой подсчётом каких-нибудь внешних импульсов.
Была как-то задача – формирование сложного электрического сигнала. МК постоянно занят, отвлекаться нельзя, все прерывания запрещены. Есть только небольшое окно для обработки флагов прерываний, взаимодействия с внешней средой. Здесь прерывания не прокатят. Правда, это был периферийный МК, кнопок у него не было.
Вопрос с помехами даже не буду комментировать. Ваши фантазии - они только ваши фантазии.

Прочитал ваш пост про преобразователь с регулярными помехами, сбивающими электронику. Первой мыслью было: наймите на работу грамотного электронщика, он сделает источник питания, который не будет сбивать МК.
Вспомнил ситуацию. Разработал по заказу небольшой импульсный источник. Заказчик сделал такой же заказ ещё у другого исполнителя, наверно, для сравнения. Потом сообщают, у того источник получился гораздо меньше, вот, мол, как надо работать.
Стали испытывать. Оказалось, у того источника были такие помехи, что невозможно измерить напряжение на выходе, электронный мультиметр сбивался. Наверно, тяжёлый режим трансформатора плюс непрерывный режим.


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

Карма: 139
Рейтинг сообщений: 2919
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 24017
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Первой мыслью было: наймите на работу грамотного электронщика, он сделает источник питания, который не будет сбивать МК.

:))) :))) :)))
Наглость - вторая натура.
А кто вам сказал, что помехи создает СВОЙ источник? Свой источник сделать под собственные требования - не велика задача. Проблема в тех, которые в этой же сети включены и находятся в оборудовании за охулиард денег. Так что дело не в источнике, а в схемотехнике собственно целевого низковольтного устройства с учетом наличия внешних мощных помех.
Просто пример из моего опыта.
Наша контора разработала (ваш покорный слуга разработал единолично) и выпускает устройство под названием "деактиватор акустомагнитных этикеток". В нем электроника устройства выполняющая не только заявленную в названии функцию, но и детектирование наличия этикеток, размещена прямо в катушке деактивации с импульсным переменным магнитным полем созданным 8,5 килоампервитками этой катушки.
И ничего, работает как часы. :tea:
ЗЫ. К слову. Пара кнопок на лицевой панели имеются. Догадайтесь какой у них алгоритм? :music:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 20, 2024 15:05:19 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 42
Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 434
Рейтинг сообщения: 0
AQ29, давайте таки переберемся в тему про кнопки, чтобы никто не нудил, я там ответил )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 27, 2024 17:35:26 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
BOB51 писал(а):
Есть еще для нескольких МК, но те пока не проверялись в проектах.
AT90S2313 ?

Нет - ATtiny2313...
AT90S2313 это вроде из самых старых... Такой даже в "пробниках" не было...

Таки вдохновила меня AT90S2313 спаять стендик..
Да и проектик уже к концу подходит.. да уже бы и закончил))
Осталось чуть-чуть. и вдруг обнаруживаю, что в AT90S2313 нет mul :facepalm: :shock: :)) :))

Думаю теперь)) почитать что-нибудь по теме.. или сложение в цикле замутить :)) Нужно то всего в одном месте на 60 умножить..

Всем :beer:

Добавлено after 9 minutes 26 seconds:
PS ""mpy8u" - 8x8 Bit Unsigned Multiplication" конечно жёсткая по коду :facepalm:
Через цикл сложения сделаю.. Всё равно потом ещё задержку вставлять перед переходом..


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

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15137
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Список доступных команд обычно в даташите прилагается.
Не у всех одинаков - надо порой посматривать туда.
Касательно умножения... Хорошо, когда степень двойки... А на 60...
Может чего другого в соответствии с задачей придумать можно?...
Или уж сложение со сдвигами...
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 27, 2024 17:49:53 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 2
BOB51 писал(а):
А на 60... Может чего другого в соответствии с задачей придумать можно?...
Или уж сложение со сдвигами...
Да не..))
Дольше здесь писал, чем код. 8 строк всего))
Понимаю, что не спортивно :))
Спойлер
Код:
   ldi R16, 59
   clr R17
   mov MAIN_COUNT_L, R23
   clr MAIN_COUNT_H
   
   add MAIN_COUNT_L,R23
   adc MAIN_COUNT_H,R17
   dec R16
   brne PC-3


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

Карма: 4
Рейтинг сообщений: 96
Зарегистрирован: Вс окт 25, 2020 22:13:25
Сообщений: 316
Откуда: Смоленск
Рейтинг сообщения: 5
Если скорость не важна, то и нормально.
Если надо быстро, то сдвигом умножить на 64, потом четыре раза вычесть.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 27, 2024 18:32:22 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
Ещё задержку примерно в 0,7 секунд после цикла поставил.. там переход в другое меню, так что норм))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср июл 02, 2025 18:25:48 
Держит паяльник хвостом
Аватар пользователя

Карма: 15
Рейтинг сообщений: 70
Зарегистрирован: Ср мар 28, 2012 21:45:24
Сообщений: 906
Откуда: ВО
Рейтинг сообщения: 0
Всем привет! Вопросик, как учесть часовой пояс , без переводов DEC->BIN->DEC


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср июл 02, 2025 21:55:51 
Потрогал лапой паяльник
Аватар пользователя

Карма: 4
Рейтинг сообщений: 96
Зарегистрирован: Вс окт 25, 2020 22:13:25
Сообщений: 316
Откуда: Смоленск
Рейтинг сообщения: 0
Вычитанием или сложением.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср июл 02, 2025 23:12:21 
Встал на лапы

Зарегистрирован: Сб июл 30, 2011 21:00:24
Сообщений: 115
Рейтинг сообщения: 0
Если надо быстро, то сдвигом умножить на 64, потом четыре раза вычесть.

Умножить на 64 – это 5 раз сдвигать, многовато. Лучше, наверно, приписать младший байт и сдвинуть вправо пару раз.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт июл 03, 2025 01:10:30 
Потрогал лапой паяльник
Аватар пользователя

Карма: 4
Рейтинг сообщений: 96
Зарегистрирован: Вс окт 25, 2020 22:13:25
Сообщений: 316
Откуда: Смоленск
Рейтинг сообщения: 0
Можно и так.


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

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


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

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


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

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


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