Вот и чудесненько. А я понял это ещё с первого сообщения автора.
и с 6-го
Могу парироватьПоказать
А не нужна терминология. Вы пытаетесь мне объяснить свою, точку зрения с которой я изначально согласен. Я по рисунках, чертежах, графиках, диаграммах лучше ориентируюсь, чем по словесным описаниям. А выложеные проекты предоставляют достачно информации для однозначной трактовки. У меня тоже не получилось. Не смотря на правку предыдущего моего сообщения более десятка раз, и письма Вам в личку, так и не смог донести свою точку зрения. Я не обсуждаю Ваш проект, я пытаюсь объяснить почему, как автор не рекомендую такое применение моего блока в Вашем проекте. И если Вы добились приемлемой роботы проекта в целом не совсем корректно применив его (не удивлён, ведь описания в нем нет), расстратив при этом лишние ресурсы на борьбу с последствиями этого, то честь Вам и хвала.
Я решил и я согласился с
Согласился и дополняю. Развязывать работой в циклах- это создать счётчик циклов ф-и Loop() и разделить весь код "тяжелого" блока на отдельные операции, которые будут выполняться в разных циклах согласно номеру счётчика, старясь избегать при этом перерыва сесий приема-передачи UART, I2C, ModBus учитывая плохую помехозащищённость (несоблюдения правил построения) линий связи и подтяжку к питанию, избегать в этот момент или распределить прерывания если они есть. А дальше учесть специфику ф-и millis(); micros() а значит и таймеров, которые и так летят из-за переполнения раз в 50 дней/70 минут. Я молчу уже по функциях типа tone(), pulseIn() или работу с регистрами сдвига без защёлкивания данных.rw6cm писал(а): ↑26.01.2019{, 11:32}Есть понятие "цикл" и есть девайсы сильно от него зависящие, и ШД как раз к ним относится, и есть девайсы, которые программно, или своей инертностью, увеличивают этот цикл, (UART, I2C, ModBus, использование delay, итд), и 1637 не исключение. Так вот такие девайсы надо развязывать работой в циклах, иначе не чего хорошего не выйдет.
Но у нас ведь блочный способ представления кода. Мы хотели неразборные, в отличии от понятных непрограммистам блоков на LAD или FBD, блоки Си на все вообразимые дивайсы, хотели работу по таймеру и с прерываниями основного цикла, получили. А теперь ... Вся жизнь- баланс компромиссных решений.
Желаю всем удачи, никого пытался не обидеть, извините, если это получилось!