roman.com писал(а):больше никогда не буду связываться с Arduino...
ардуино это фреймворк - работа в ограниченных рамках
у каждого фреймворка есть документация и его ограничения
смысл фреймворка - дать тебе готовые инструменты, чтобы ты не изобретал велосипед каждый раз и не таскал свой хлам из проекта в проект
а вставки ассемблера это уже относится к синтаксису компилятора гцц для авр
Код: Выделить всё
asm
(
"lds %0, (value) \n"
"ror %0 \n"
:"=r" (value)
);
вот так это может выглядеть
в других компиляторх вставки выглядят проще без тупых \n и прочей херни
vjk7 писал(а):Но вот вопрос, а точно ли он эффективен (вызовет RESET) при зависании, вызванном чем угодно? Или нет?
любой ватчдог имеет свой внутренний автономный низкочастотный генератор + счетчик, который считает, если он был запущен в начале проги
в коде надо вызывать команду сброса счетчика, чтобы он не досчитал до своего переполнения
по дефолту биты настроены так, что его выход дергает схему сброса, что нарисовано в даташите
поэтому ватчдог сбрасывает всегда
то, о чем ты пишеш
vjk7 писал(а):По дефолту ардуина такова, что микроконтроллер при просадке питающего напряжения может зависнуть. Или еще от чего-нибудь, см. закон Мерфи.
он не зависает
там есть специальный супервизор питания, который прижимает сброс, блокируя всю работу, чтобы не повредить содержимое флеш памяти и не попортилась прошивка или епром
напряжение срабатывания задается конфигурационными битами в настройке платы в опции перезаписи загрузчика
vjk7 писал(а):В моем случае там здоровенный асинхронник, который поднимает 300 кг и имеет 20 метров троса, так что это откровенно небезопасно.
для проектирования подобных устройств есть специальные курсы, где объясняется базовые принципы защиты
например я смотрел демку курса по реле сименс лого, которое используется для автоматизации всяких машин и там этому уделяется некоторое внимание, чтобы заложить правильную логику в работу реле с учетом разных датчиков безопасности
и там написано, в каких случаях какие концевики нельзя подключать к контроллеру, а нужно подключать к питанию приводов и должен ли это быть нормально замкнутый или разомкнутый и что произойдет, если делать не так