Вот и чудесненько. А я понял это ещё с первого сообщения автора.rw6cm писал(а): 27 янв 2019, 00:06но когда понял что блок 1637 вносит только задержки, а вешает нулевая скорость ШД, лишнее отбросил.
и с 6-гоMatafon писал(а): 20 янв 2019, 19:30Пробовал исключать индикатор вовсе, либо данные наблюдал в serial port, не помогает.
[spoiler title=Могу парировать] [/spoiler]
А не нужна терминология. Вы пытаетесь мне объяснить свою, точку зрения с которой я изначально согласен. Я по рисунках, чертежах, графиках, диаграммах лучше ориентируюсь, чем по словесным описаниям. А выложеные проекты предоставляют достачно информации для однозначной трактовки. У меня тоже не получилось. Не смотря на правку предыдущего моего сообщения более десятка раз, и письма Вам в личку, так и не смог донести свою точку зрения. Я не обсуждаю Ваш проект, я пытаюсь объяснить почему, как автор не рекомендую такое применение моего блока в Вашем проекте. И если Вы добились приемлемой роботы проекта в целом не совсем корректно применив его (не удивлён, ведь описания в нем нет), расстратив при этом лишние ресурсы на борьбу с последствиями этого, то честь Вам и хвала.rw6cm писал(а): 27 янв 2019, 00:06Мне не получится объяснить доходчиво, т.к не владею терминологией языка Си.
Я решил и я согласился с
Согласился и дополняю. Развязывать работой в циклах- это создать счётчик циклов ф-и Loop() и разделить весь код "тяжелого" блока на отдельные операции, которые будут выполняться в разных циклах согласно номеру счётчика, старясь избегать при этом перерыва сесий приема-передачи UART, I2C, ModBus учитывая плохую помехозащищённость (несоблюдения правил построения) линий связи и подтяжку к питанию, избегать в этот момент или распределить прерывания если они есть. А дальше учесть специфику ф-и millis(); micros() а значит и таймеров, которые и так летят из-за переполнения раз в 50 дней/70 минут. Я молчу уже по функциях типа tone(), pulseIn() или работу с регистрами сдвига без защёлкивания данных.rw6cm писал(а): 26 янв 2019, 11:32Есть понятие "цикл" и есть девайсы сильно от него зависящие, и ШД как раз к ним относится, и есть девайсы, которые программно, или своей инертностью, увеличивают этот цикл, (UART, I2C, ModBus, использование delay, итд), и 1637 не исключение. Так вот такие девайсы надо развязывать работой в циклах, иначе не чего хорошего не выйдет.
Но у нас ведь блочный способ представления кода. Мы хотели неразборные, в отличии от понятных непрограммистам блоков на LAD или FBD, блоки Си на все вообразимые дивайсы, хотели работу по таймеру и с прерываниями основного цикла, получили. А теперь ...

Желаю всем удачи, никого пытался не обидеть, извините, если это получилось!