Программа либо работает, либо нет, если в ней ошибки. Случаи, когда сбоит память, достаточно редки. Случаев, когда сбоил процессор, я вообще не припомню, в том числе в практике моих коллег.
К сожалению бывает. Приведу несколько примеров. У меня было, когда устройство на базе МК Atmel переставало корректно работать. Оказалось, что не функционировала Eeprom, а точнее та часть, которая использовалась в программе. Программно сместил используемую область и все начало работать. Какое же было удивление, когда спустя неделю проблема повторилась. Также было, что стирался ID МК, а также столкнулся с тем, что данные в порт не уходили (оказалось достаточно было поменять местами команды OUT и MOV). Были и др. ошибки, про которые сообщал разработчикам МК. Что интересно, что спустя 10 лет попалась на Хабре статья, где авторы также столкнулись с подобными же проблемами и в новых МК. Вот нашел статью: https://habr.com/ru/articles/147025/
Да в разработке цифровых устройств тоже самое. МК без взаимодействия с внешней средой - это система сама в себе. Необходимо составлять ТЗ и тогда "хотелки" отпадут, а иначе проблемы будут аналогичные: каналов АЦП не хватает в МК (ставим внешнее или меняем МК), количество АЦП не хватает (ставим внешние или меняем МК), точности вычислений недостаточно, например, только float поддерживает компилятор (пишем свои типы данных, но тут выясняется, что не хватает памяти или быстродействия МК), быстродействие МК низкое (меняем МК), не хватает портов (ставим другой МК или расширители портов, микросхемы малой и большой интеграции) и т.д. Ваши рассуждения верны, но только в том случае, если для решения задачи будет заложен заведомо избыточный МК. Примером могут служить задачи, которые решают Ардуинщики.
Цифра очень хорошо масштабируема и повторяема. Тебе не нужно знать внутреннее устройство схемы или библиотеки. Ты используешь ее в качестве кирпичика, чтобы построить что‑то своё. Это работает и в архитектуре процессора, и в высокоуровневом коде.
Цифра линейна и предсказуема за счёт отсутствия непрерывных процессов. Она как точный механизм — если настроили, то он не собьётся. Компьютеры часто называют машинами, потому что они по сути и являются механизмами. Только электронными.
Абсолютно согласен с Вами. Впечатление, что автор делает вывод имея опыт только подключения китайских модулей к Ардуино. Использовать делитель, а потом говорить, что схема нелинейна? Есть и другие решения, если не устраивает линейность. Это тоже самое, что использовать в программах повсюду Goto и утверждать, что плохой язык программирования.
Если бы это написали Ардуинщики на каком-то "левом" сайте, которые подсоединяют высокоомное термосопротивление на вход АЦП, то я понял бы. Если новая статья будет в том же духе, то лучше не надо.
К сожалению бывает. Приведу несколько примеров. У меня было, когда устройство на базе МК Atmel переставало корректно работать. Оказалось, что не функционировала Eeprom, а точнее та часть, которая использовалась в программе. Программно сместил используемую область и все начало работать. Какое же было удивление, когда спустя неделю проблема повторилась. Также было, что стирался ID МК, а также столкнулся с тем, что данные в порт не уходили (оказалось достаточно было поменять местами команды OUT и MOV). Были и др. ошибки, про которые сообщал разработчикам МК. Что интересно, что спустя 10 лет попалась на Хабре статья, где авторы также столкнулись с подобными же проблемами и в новых МК. Вот нашел статью: https://habr.com/ru/articles/147025/
Да в разработке цифровых устройств тоже самое. МК без взаимодействия с внешней средой - это система сама в себе. Необходимо составлять ТЗ и тогда "хотелки" отпадут, а иначе проблемы будут аналогичные: каналов АЦП не хватает в МК (ставим внешнее или меняем МК), количество АЦП не хватает (ставим внешние или меняем МК), точности вычислений недостаточно, например, только float поддерживает компилятор (пишем свои типы данных, но тут выясняется, что не хватает памяти или быстродействия МК), быстродействие МК низкое (меняем МК), не хватает портов (ставим другой МК или расширители портов, микросхемы малой и большой интеграции) и т.д. Ваши рассуждения верны, но только в том случае, если для решения задачи будет заложен заведомо избыточный МК. Примером могут служить задачи, которые решают Ардуинщики.
Интересно, что автор вкладывает в данное понятие?
Цифра всегда была и будет нелинейна.
Абсолютно согласен с Вами. Впечатление, что автор делает вывод имея опыт только подключения китайских модулей к Ардуино. Использовать делитель, а потом говорить, что схема нелинейна? Есть и другие решения, если не устраивает линейность. Это тоже самое, что использовать в программах повсюду Goto и утверждать, что плохой язык программирования.
Это бессмысленный спор. С таким же успехом можно спросить, а сколько же Ардуинок понадобиться, чтобы обработать радиосигнал?
Если бы это написали Ардуинщики на каком-то "левом" сайте, которые подсоединяют высокоомное термосопротивление на вход АЦП, то я понял бы. Если новая статья будет в том же духе, то лучше не надо.