значит так, пишу про то как менять мышление при переходе с бейсика на Си/FLprog:
но надо иметь в виду и то, что FLProg сам тоже сильно отличается от чисто сишного подхода.
Бейсик-Си
1) "перейти" - всегда помнить что НЕТ номеров строк и НЕЛЬЗЯ сделать прямой переход.
2) места где хочется поставить "перейти на 40" заменять на команду "пропустить"
3) это самое "пропустить" реализуется через
if (условие) {
// одно
} else {
// другое
} // есть возможность добавить "третье" и тд...
в терминах FLprog это
Компаратор и
Вход разрешения(En)
4) перейти назад можно только при помощи циклов (for, while, ..)
FLprog
1) " то перейти на плату 60" - нет такого,
и не будет никогда судя по всему.
плата обрабатывается всегда.
но если очень надо, то: содержимое платы заворачиваете в "блок пользователя", и управляете блоком ножкой EN (недавно появилось).
при этом оно как бы изолируется от программы, и у вас появляется возможность использовать этот блок несколько раз в программе (в бейсике подпрограммы проходили?)
2) " то перейти на плату 56" - возврат назад невозможен вообще, забудьте. только сверху вниз, и бесконечно зациклено.
3) про такие ожидания:
35 сравнить: A0 равно At, значит перейти на строку38
36 иначе: перейти на строку 34 и выполнять это в течении (100 миллисекунд)
38 вывести значения Аt
такой подход сам по себе плох
- значения с аналоговых входов всегда скачут, вы можете прождать все 100мс, а А0 меж тем будет скакать +-1,+-2,.. вокруг At и не совпасть строго ни разу.
- для этой проблемы используют усреднители разные и сравнения >,<
- ваша программа будет простаивать, для простых применений это нормально, но для приличного количества датчиков и действий это уже недопустимо.
4) "устранение дребезга на резистивной клавиатуре." решается в настройках аналогового входа. гляньте, попробуйте, и забудьте о этой проблеме. Вообще, если ваш пример в строках 32..38 это устранение дребезга, то вопрос вообще закрыт.
5) локальные циклы ожидания, итераторы и тд.. на базе For-to, goto, while, и тп... в FLprog стандартными блоками
не используются!, за исключением штучных блоков работы с массивами. Цикл в FLprog один, главный цикл перебора плат loop().
PS:
если хотите вот прям стопорить программу и "зацикливать плату" могу написать вам нужный "CODE-block"
PPS: на правах юмора с долей правды. если набрать FLprog на русском регистре получится
АДзкщп.