Выполнение части скетча

В Конституции не написано, что в исходное состояние нужно всё возвращать.
В первопосте тоже.

И причём тут “когда имел дело”, “где служил” и т.п.?

Просто объясни, почему щёлкать будет.

а… ну если не надо переменные в исходные состояния возвращать, тогда зачем их нулить на входе, пусть болтаются как есть…
у меня есть опыт работы с профессиональными циклограммами…любой сбой - исходное положение принять…
PS поэтому проффессионалы ждали квартиры годами, а “ненастоящим сталеварам” их давали за две недели, не хвастаюсь, просто констатирую факт…
PPS циклограммы были неотъемлемой частью документации

1 лайк

Подменяем несуществующие знания рассказами о былом? :slight_smile: Что-то это напоминает…
Ты случаем не знаешь 20 языков на университетском уровне?

Мужики, да, заканчивайте вы плетизмографией заниматься!

я даже по русски косноязычно изъясняюсь :grinning:

“Выше университетского” там было!

Это никого не интересует.
Один вопрос - почему щёлкать будет?

И, если уж хочется похвастаться талантами, рисуй скетч по ГОСТ-у. Посмотрим за что квартиры давали сталеварам-флудерам.

1 лайк

кароче - диплом дурака как любил приговаривать Израиль Моисеевич, а у него отец был Одесский биндюжник, это Вам не хухры-мухры

сталевар весь вышел, остался только флудер…кстати у 707 есть возможность весь флуд зачистить, но хотелось бы, чтобы тема дожила до пятницы…
А скетч по ГОСТ это не ко мне, для меня это хобби, а как по ГОСТ andriano уже озвучил, добавить нечего

не ради флуда, просто для определенности - нету
Мои права одинаковые с твоими.

Но даже если б были - я бы не стал чистить.
Хотя не скрою, что флуд меня ДИКО раздражает (особенно чужой :slight_smile:

Вобщем, стандартно - как до дела дошло, то уже и не сталевар и циклограмм не помнит.

Комсоргом, поди, был, а не рабочим. Им как раз льготы в первую очередь и шли.

в комсомоле - нет, не был, не участвовал…

Приветствую, а какие переменные не вернуться в исходное состояние после смены уровня сигнала?

if (blockState != digitalRead(BLOCK) && blockFlag) {
    blockFlag = false;  // При отсутсвии сигнала блокирования изменяем уровень флага
    flag = false;
    analogWrite(PWR, 0);  // ШИМ 0% при изменении уровня флага
  }

blockState без разницы в данном случае, все равно приравнивается в уровню сигнала.
pwrState как висел так и остался неизменен
blockFlag вернулся
flag вернулся
или я что то не понял до конца)

а я тут уже 6 лет твержу, что не настоящий сталевар, но перед ретурном две переменные обнулил бы

Вопрос не по существу, нормально, что при закрытии окна редактора ардуино иде версия 2.01 автоматом записываются изменения выполненные в скетче. Не спрашивает сохранить изменения или нет. Тупо сразу переписывает файл. Старый редактор спрашивает, новый нет. Крайне неудобно

Дед тут подобные раздаёт, хотя и не биндюжник.

Неть. Я тока сертификаты Длб уполномочен.

1 лайк

Дак какого ж хрена?

Моё видение скетча:

#define PWR 10
#define BLOCK 2
#define TIME 1500

uint32_t blockTime = 0;
uint8_t blockState = 0;
static uint8_t s_pwm = 25;
uint8_t flagMode = 0;  // режим
// 0 - включить синхронизацию
// 1 - задержка на синхронизацию
// 2 - задержка на включение
// 3 - включить
// 4 - работа

void setup() {
  pinMode(PWR, OUTPUT);
  pinMode(BLOCK, INPUT);
}
void loop() {
  blockState = digitalRead(BLOCK);
  if (blockState) {
    switch (flagMode) {
      case 0: //выполняется, когда blockState равно 0
        analogWrite(PWR, 25);
        flagMode = 1;
        blockTime = millis();
        break;
 
      case 1:  //выполняется когда   blockState равно 1
        if (millis() - blockTime >= TIME) flagMode = 2;
        break;

      case 2:
        analogWrite(PWR, s_pwm);
        s_pwm++;
        delay(15);
        if (s_pwm == 255)  flagMode = 3;
        break;

      case 3:
        analogWrite(PWR, 255);
        flagMode = 4;
        break;

      case 4:
        break;
    }
  } else {
    analogWrite(PWR, 0);
    flagMode = 0;
    s_pwm = 25; // вернуть значение PWM в исходное
  }
}

@ua6em никогда (от слова, совсем-совсем никогда!) не объявляйте глобальных переменных с именами i, j, k, l, m, n. Этого нельзя делать ни в каком случае. Это табу! Этому нет никаких оправданий.

Когда нужен какой-нибудь сраный цикл на три итерации, руки сами пишут for (i=... и всё, Ваша глобальная переменная “приплыла”! А потом ищите этот ляп до второго пришествия.

Код не смотрел, но такая чудовищная вещь просто по глазам резанула!

3 лайка