кроме AVR ничего другого не видите и даже не пытаетесь изучить!
Я как раз попытался, и именно что STM32,правда из младших. Даже одну самоделку сделал. Понял что для моих любительских задач - это из пушки по воробьям.
Цитата:
Вы наверное пользуетесь калькулятором вместо копа потому что калькулятор проще, а значит по вашему мнению намного лучше!
Зайдите на работе в бухгалтерию (если она больше чем из одного человека). Увидите там калькуляторы на столах рядом с компами.
Это _разные_ инструменты,они не заменяют,а дополняют друг друга. Также как симулятор из аппаратный отладчик.
Цитата:
Многие любители разрабатывают такие устройства что вам и не снились и они не ограниченны устаревшими AVR.
Таких любителей как раз очень не много. Это примерно как судить о радиолюбителям по публикациям в "Радио". Копнешь глубже и выясняется что этот "любитель" -
на самом деле профессиональный разработчик РЭА,просто у него хобби с работой совпадает.
Цитата:
Задачи могут быть самые разные. Скажем программный uart.
Аппаратный uart есть даже в avr. А так чтобы в одной самоделке надо было два уарта и оба обязательно на высокой скорости - случай очень не частый.
Впрочем, в этом случае можно использовать Atmega128 где их два аппаратных. Мне однажды полтора десятка лет назад потребовалось - надо было сделать преобразователь midi-таймкода в проприетарный протокол чтобы синхронизировать студийное оборудование с компом. Приятелю надо было - у него мини-студия была.
Midi это 31250bps, атмега вполне успевала,преобразование было простое.
WatchCat писал(а):
Что же вы так боитесь DMA
Потому что он асинхронный по отношению к исполняемой программе. Из-за этого его сложно отлаживать. Первый раз я его как раз на помянутом вами 286 когда-то отлаживал.
Цитата:
Вы случайно не игнорируете современные компы потому что у вас уже есть 286 комп и новее не нужен, т. к. сложнее?
Я в 90х работал программистом,за деньги. Начинал как раз с 286. Сейчас без профильного высшего образования программированием деньги не заработаешь.
Мой максимум это ядерный модуль к линуксу написать. Сейчас это никому не надо, а надо уметь писать например gui на абсолютно монстрообразных вещах типа QT.
Цитата:
Про цветомузыку кто выше писал? Там оцифровка звука не нужна?
Так в avr есть АЦП и его возможностей для этой задачи более чем достаточно.
Надеюсь вы пониматете что для bpm-detector совершенно не нужно ни 16 битов ни 44 килогерца.
Это вообще задача уровня мигания шестью светодиодами. Просто алгоритм bpm-detector мне не знаком и надо подбирать реализацию которая будет работать в таком применении. Уверен что когда руки дойдут - подберу и сделаю. Там кстати не Фурье,а вот эта штука используется судя по тем описаниям которые мне попадались
https://en.wikipedia.org/wiki/Comb_filter Математика попроще чем Фурье,но тоже достаточно зубодробительная. И даже не факт что оно там надо если требуется просто переключение узоров "в такт" ритму,
а не точное вычисление bpm в цифрах,как например для всякого диджейства надо.
Может быть сойдет простой ФНЧ и адаптивный пиковый детектор (чтобы от громкости не очень зависело - в разных треках она может отличаться даже заметно на слух)
WatchCat писал(а):
Нужно по максимуму использовать периферию перекладывая работу на нее, а не на проц.
В AVR это сложно из-за скудной периферии, а в STM32 возможно.
А смысл перекладывать если в STM32,во всяком случае в том что у меня был, максимальная частота 72 МГц была если правильно помню. Вот на относительно медленном avr это действительно полезно,да.
Цитата:
Аппаратные обычно проще в написании, стабильнее в работе и не сложнее в отладке.
Ну да, особенно что-нибудь асинхронное по отношению к основной программе и при отсутствии хорошего симулятора где это асинхронное можно буквально по одному такту исполнять(vmlab - такое может).
Цитата:
Если процессорное ядро аппаратно поддерживает плавающую точку (имеет соответствующие инструкции) и вычисления производятся относительно быстро, то почему не использовать? Ваши учебники устарели, обновите их.
Интеловские процы имеют соответствующие инструкции во встроенном виде с 90х годов,однако тем не менее рекомендуется плавающей точки избегать если есть возможность написать алгоритм в целый числах. Применительно к нашей радиолюбительской тематике - лучше считать в милливольтах,а не в вольтах с сотыми долями. То есть будет фактически тип с фиксированной подразумеваемой точкой которого нет в Си но есть например в Ada(писал на ней,хотя и немного).
При использовании плавающих чисел даже простое сравнение с константой может выкидывать странные фокусы из-за особенноей двоичного представления таких чисел. Напишешь так if (v == 4.5) а оно возьмет и не сработает потому что при вычислениях в переменной v может образоваться значение с хвостом типа 4.5000000ХХХХ где на месте иксов достаточно произвольные цифры,причем зависящие от предидущих действий с этой переменной и от входных данных. Чтобы всегда сработало - надо из v вычесть эти 4.5 и проверить что результат получился меньше некоторой малой (для данного случая) дельты. Если значения могут быть отрицательными то использовать модуль. А еще совершенно обычные числа в десятичной системе легко могут оказаться периодической дробью в двоичном виде.
И нет, в популярных книжках-самоучителях об этом обычно не пишут и особенности двоичного представления чисел на разных процессорных архитектурах не рассматривают,как и тонкости процессорной арифметики.
Цитата:
Не нужно боятся сложностей. Получится, хорошо, не получится - вы пытались.
Ну да, сначала создать себе трудности,потом героически их преодолеть. Комсомольский подход какой-то - я успел застать эту идеологию.
Цитата:
А если боятся и не попробовать, то тогда точно не получится!
Вообще рекомендуется выбирать инструмент под задачу. И я просто не могу придумать задачу где не хватило бы avr. А начальства которое придумывает задачи - надо мной нет так как уже полтора десятка лет не работаю по найму(есть небольшой пассивный доход).
Добавлено after 6 minutes 25 seconds:Офигеть! Мужики, ну КАК можно СТОЛЬКО писать!
Для владеющего слепым набором в темпе примерно как неспешная беседа - это не сложно.
Видимо вы в IRC не сидели и не обсуждали что-нибудь достаточно сложное.
Там обычный темп разговора, но через клавиатуру, и за вечер существенно больше получается.
Цитата:
Да кто это будет читать? Та не в жизнь.)
Это форум,а не личная переписка. Всё читать вас никто и не заставляет.
Добавлено after 16 minutes 15 seconds:некоторые рукамиводители уже хотят ставить ESP32 куда попало
А ардуино УЖЕ ставят. К счастью пока во всякие не особенно ответственные вещи. Читал например описание пульта управления каким-то грузовым лифтом(без права нахождения людей внутри). Подъемник этот производился и продавался как законченное изделие (в комплекте с услугами по монтажу).
Добавлено after 8 minutes 29 seconds:Если я буду делать цветомузыку... то с управлением по телефону.
Вам так критично сэкономить на удобных физических кнопках и крутилках что вы готовы мириться с неудобным управлением через сенсорный экран?
К тому же чтобы что-то переключить придется каждый раз искать где лежит телефон и подключать его к цветомузыке. Причем для подключения по wifi кнопок надо
нажать больше чем просто провод воткнуть.
Цитата:
Мурик писал(а):
Закрытый SDK - огромнейший минус
Ну и не очень прям уж надо разбираться что там внутри
Если задача сделать устройство,продать и наплевать на пользователей (как это часто делают китайцы) - то да,можно не разбираться.
А если делается для себя то во внутренностях разбираться приходится при использовании любого чужого кода на любом контроллере.
Добавлено after 17 minutes 6 seconds:Как управлять МК ?
Проще всего по интернету...
Физическими кнопками и крутилками.
Обновление прошивки (если надо) - через последовательный порт.
Цитата:
Пример простой цветомузыки...
У меня есть в наличии такая же или малоотличимо похожая цветомузыка.
Так вот пультом там управляется ... встроенный mp3 плейер! Это отдельная плата внутри,
я его вытащил и использовал отдельно в своей самоделке. По качеству звука -
на уровне переносной магнитолы.
Собственно "цветомузыка" это несколько весьма ярких светодиодов и моторчик который двигает
плату с ними чтобы пятна света перемещались. Есть еще микрофон так как по замыслу производителя
светодиоды должны были переключаться в такт ритму. Но работает это крайне плохо из-за сильной зависимости
от общего уровня громкости. Собственно после появления у меня этой цветомузыки и ознакомления с ее работой
у меня и возникла идея переделать старую советскую цветомузыку на "мигание в такт".
Цитата:
- цветомузыкой можно управлять с пульта.
- цветомузыкой можно управлять с телефона (по интернету).
Мне удобней второй вариант.
Удобство - штука субъективная. Мне вот удобнее наличие кнопок и крутилок на самой цветомузыке(а также и на усилителе,эквалайзере).
Цитата:
-во первых несколько миллисекунд никак не влияет на работу двигателя.
Смотря какого. К примеру прыгающий на несколько миллисекунд момент зажигания в высокооборотном ДВС это не есть хорошо.
Также и длительность открытия форсунок,дозирующих топливо.
Хотя вот как раз тут-то беспроводное соединение могло бы быть полезно - например для "общения" компа с блоком управления
двигателем в картинге прямо на ходу - для получения логов и настройки. У них обычно трасса на небольшой площади, дальности wifi
должно бы хватать.
Добавлено after 18 minutes 33 seconds:Ты на ассемблере хоть что то серьезное писал?
Я на ассемблере писал. Много. Под х86 в начале 90х. А в середине нулевых видел устройство где ассемблерным кодом было занято примерно половина памяти Атмеги128. Когда писавший это уволился и уехал из РФ, мне пришлось пару месяцев это поддерживать пока настоящего программиста наняли. Я там так, совместителем был и официально в штат не хотел. И я понимаю ваш неявный намек на то,что большие объемы кода надо всё-таки на ЯВУ писать. Но если при этом используется чужой код - он строго обязательно должен быть в исходниках чтобы можно было взять только нужное и была возможность отладки этого взятого,нормальной,на уровне исходника. Вот были бы доступны исходники той библиотеки от ESP - мы бы посмотрели что там прерывания запрещает и переписали. А так желающим использовать ESP придется с нуля всю библиотеку писать. Собственно, для STM32 примерно так и сделали -
https://github.com/libopencm3/libopencm3Но там проще было потому что значительная часть исходников от производителя была доступна.
Добавлено after 8 minutes 28 seconds:Иначе как работать с железом если нет документации?
Дизассемблировать библиотеку и разбираться. Как это со всеми закрытыми девайсами и делают аж с начала 90х.
Значительная часть например линуксовых драйверов так и написана. В том числе даже драйверы видеокарт были такими пока из Нвидии большие куски исходников не утекли несколько лет назад. А под многие видеоускорители, встроенные в планшетно-телефонные процы, и сейчас так.