ну теоретически более толстый техпроцесс обеспечивает лучшую надежность и устойчивость, к ионизирующим излучениям например. ну и 200байт avr могут превратиться в 20kb если тяпляпски переносить на arm или riscv. так что не все так однозначно...
Если есть уже готовый проект на attiny25. То переходить на pic16f1822 или stm32l050j3 уже не актуально. Хоть они и дешевле чем attiny25, но всё равно дороже чем мелкие 32bit - PY32F00x; CH32v003
ну и 200байт avr могут превратиться в 20kb если тяпляпски переносить на arm или riscv.
Сомнительно. Если автор на AVR написал оптимальный код в 200 байт, то вряд-ли он на другом МК станет лепить "тяп-ляп". 200 байт, даже на AVR, - это как я понимаю надо суметь! Не всякий сможет. И зря автор боится ARM - при желании и на нём можно на асме писать. Если так хочется. Система команд у ARM простая.
всё равно дороже чем мелкие 32bit - PY32F00x; CH32v003
Я себе уже заказал десяток 8-ногих и десяток 20-ногих PY32. Пока без конкретной цели. На всяк случай. Пусть будут. В конторе у нас китайчатине не доверяют, но для хоббийных поделок - вполне. Спасибо вам.
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
если честно ваще не понимаю зачем 8ног?! никтож не бьет по ногам чтоб их все использовать ну ладно бы хотелось dfn8, они и вправду МЕЛКИЕ но если норм so8 то даж qfn32 не говоря про 16/20 ну ничуть не больше по футпринту, и паять их даже паяльником - одно удовольствие, нужно только площадки чтоб на 0.5..1mm торчали из под корпуса и вуаля! мажешь площадки rma или лти (если нет маски то и вокруг неск мм) , ляпаешь qfn, пальчиком жмяк, затем достаешь самый старый паяльник с толстенным жалом, хватаешь огромную каплю припоя и проводишь по периметру ! все! никаких тебе закороток большой каплей как у so корпусов, всему лишнему просто некуда прилепать !
зы думаю все когдато боялись dfn/qfn и аналогичного необычного, после первого же правильного опыта - будете с ужасом вспоминать всякие tsop, plcc и прочее подобное
И как вы собираетесь паять "exposed pad" паяльником?
если принципиально-спортивно хочется это сделать именно паяльником то я делал так: мажу rma не только плату но и пузо qfn беру qfn пинцетом и на ep qfn паяльником ставлю капельку припоя (лучше не огромную) такую же капельку ставлю на плате и грею пэд платы через доступную дорожку (диаганаль или переход, при дизайне платы обычно непроблема сделать дорожку за футпринтом через которую паяльником надежно прогревается ep)
в самом крайнем случае, если плата не своего дизайна и маска закрывает такие возможности - можно жалом одновременно греть пузо и плату и убрав жало быстро спозиционировать qfn, если чип дорогой - можно использовать сплав розЕ
...но конечно редко в подобных извращениях есть смысл, намного удобнее с пастой и феном
Если использовать AVR, то современное, например, ATtiny202/402. Цена в Чипдипе около 100 рублей, корпус SOIC и всё есть на борту. Чипдип всё-таки определённая гарантия качества.
Если использовать AVR, то современное, например, ATtiny202/402.
Тогда 212/412. Но есть одно но: смотрел даташиты на них - это как будто совершенно новая платформа, всё совершенно по-другому. Софт другой, программатор нужен другой, все обозначения другие, как будто переходишь с AVR на PIC или STM8.
_________________ Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Если использовать AVR, то современное, например, ATtiny202/402.
Тогда 212/412. Но есть одно но: смотрел даташиты на них - это как будто совершенно новая платформа, всё совершенно по-другому. Софт другой, программатор нужен другой, все обозначения другие, как будто переходишь с AVR на PIC или STM8.
Как я понял, у ATtiny212 можно подключить часовой кварц. В новых моделях побольше есть режим аппаратной стабилизации встроенного высокочастотного генератора от внешнего часового кварца, обычный кварц не подключить. Не вижу «новой платформы». Ядро МК то же и все ассемблерные команды те же самые. У вас короткая программа, написана, наверно, на ассемблере, тут ничего не изменилось. Поменялись только регистры ввода/вывода РВВ. Наверно, большей частью те же функции, только поменялись названия РВВ, которые стали гораздо удобнее. Исправить названия в программе несложно. Программатор действительно понадобится новый. Но всё равно надо переходить на новые МК АВР, много преимуществ. Программирование и отладка через один вывод, МК можно запаивать в плату, нет проблем со фьюзами, много новой периферии и прочее. У ATtiny25 вроде как нет 16-битного таймера.
У вас короткая программа, написана, наверно, на ассемблере, тут ничего не изменилось.
Нет, как раз на С, компилируется в WinAVR.
Цитата:
У ATtiny25 вроде как нет 16-битного таймера.
Именно так, приходится раскладывать коэффициент деления на множители, максимальное количество множителей загонять в 8-битный таймер, остальное подсчитывать вручную в обработчике прерывания.
_________________ Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Именно так, приходится раскладывать коэффициент деления на множители, максимальное количество множителей загонять в 8-битный таймер, остальное подсчитывать вручную в обработчике прерывания.
Если цель - только получение прерываний с нужной частотой, то ваш способ - не самый удачный. Можно сделать без разложений на множители и с ограниченной верхней частотой прерываний. Лучше запускать 8-битный таймер, вычитая в каждом прерывании из некоей переменной остатка количество тактов, на которое был запрограммирован очередной цикл таймера. И далее - записывать в регистр сравнения таймера момент следующего прерывания, на величину остатка, не превышающую остатка тактов в переменной и не превышающую 256 тактов. Единственный момент, который нужно учесть: не допускать, чтобы для следующего цикла (следующего периода до прерывания) осталось менее какой-то величины. Чтобы не получать прерывания слишком часто. Т.е. - предположим - нужны прерывания с периодом = M тактов (M > 256). Начальное значение счётчика таймера = 0, начальное значение COMPARE-регистра = 0, значение периода таймера = 0 (256), начальное значение переменной остатка m = M. Пишем в регистр COMPARE таймера значение, вычисленное как: c = (m >= 255 * 2) ? 255: (m <= 255) ? m: m / 2); Полученное c вычитаем из переменной остатака: m -= c; и прибавляем к COMPARE-регистру таймера (по модулю 256). Запускаем таймер. В каждом его ISR повторяем процедуру выше, обновляя каждый раз COMPARE-регистр таймера и переменную остатка, пока она не обнулится. Её обнуление - это момент завершения очередного периода. Здесь запускаем весь процесс по-новой.
При таком способе не будет прерываний с периодом короче 128 тактов. И не будет проблемы, если при разложении на множители M получилось очень большое простое число, которое не лезет в 8-битный счётчик.
Можно вместо 255 использовать 256. Только нужно выставить соответствующие другие начальные условия: первый цикл не более 255 тактов. Или не усложнять и оставить 255.
Для маленьких МК ассемблер удобней. На МК работаю только на ассемблере, но, условно говоря, на современном, в котором встроены основные элементы ЯВУ (переменные и операции с ними, вызовы программ с параметрами, раскраска слов, встроенные команды и функции и т.д.) – это глобально упрощает разработку. Использовать старенький МК, когда есть более современный, как-то не очень. Мельком посмотрел, вроде как на Али есть десяток ATtiny214 за 740 рублей. В новых МК АВР есть коммутатор, который позволяет подключать входы/выходы периферийных устройств. Насколько представляю, можно выход 16-битного таймера соединить со входом другого 16-битного таймера и получить 32-битный таймер. Правда, с этим пока не работал, надо разбираться и есть ли такая опция в конкретном МК.
По DS там только вход EC и в описании про подключение кварца ничего не сказано или что-то пропустил?
Скорее всего, вы правы. Я с новыми ATtiny не работал, мельком посмотрел описание, вроде как есть вход для часового кварца, далее не разбирался. Возможно, в этих МК с 8 выводами не подключить кварц, разработчики посчитали, что мало выводов.
Очень интересен из мелких stm8l050j3 и памяти много и 16МГц в всём диапазоне напряжений. 1.65в - 3.6в. Переферия подобная stm32 есть и DMA. и. RTC. Можно кварц и 32к и кварц 16М. Если на ассемблере писать то можно рассматривать его как 16-ти разрядный МК учитывая регистры X и Y Давно хотел - вот на Али заказал 10 шт - 590 руб
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения