Спасибо, огромное! Теперь стало многое понятным.
Цитата Сообщение от SBorovkov
Скажи, ты раньше на чем-то програмил? Уж слишком быстро разбираешься!
Ты знаешь, жизнь слишком коротка чтобы что-то в ней не понять. И тяжелее понять людей, чем машину ))) Если серьезно - то что есть опыт в радиотехнике и логических схемах в частности (в детстве баловался элементарной логикой и регистрами сдвига) + бэйсик со времен zxspectrum + php )))

Цитата Сообщение от SBorovkov
Существует четыре области видимости: локальная, функция, файл и класс.
С областью видимости переменных я все понял.


Цитата Сообщение от SBorovkov
По поводу переменной EngineCurrentVentPWM: Если ты объявил переменную глобальной (вне каких-либо функций) она существует все время выполнения программы. Соответственно, она хранит значение все время, пока программа выполняется.
Если ты объявил переменную внутри функции, то эта переменная существует только внутри функции (либо еще меньше). Как код только из функции вышел, переменная исчезла и не занимает память. Когда произойдет следующий вход в функцию, переменная будет заново создана и будет иметь случайное значение, если ты ее не проинициализируешь.
Вот здесь мне не совсем понятно... EngineCurrentVentPWM у меня, по идее, может существовать только в рамках void loop, т.к. везде, где переменная используется находится в рамках функции loop. Так какого ей надо в глобали? И что значит проинициализировать?