вот такая схема НЕ работает: она генерит код:
Код: Выделить всё
bool _gtv1 = 0; //ВРЕМЯ_БЛОКИРОВКИ
int _gtv2 = 10; //НЕКОЕ_УСЛОВИЕ
long _gtv3 = 0; //ЛЮБАЯ_РАБОТА_НИЖЕ_ПО_СХЕМЕ
bool _gen1I = 0;
bool _gen1O = 0;
unsigned long _gen1P = 0UL;
void setup()
{
}
void loop()
{
if (( ((_gtv2) > (0)) && (!(_gtv1)) )) {
if (! _gen1I) {
_gen1I = 1;
_gen1O = 1;
_gen1P = millis();
}
} else {
_gen1I = 0 ;
_gen1O = 0;
}
if (_gen1I && _gen1O) _gen1O = !( _isTimer( _gen1P , 100 ));
if (( ((_gtv2) > (0)) && (!(_gtv1)) )) {
_gtv3 = 100500;
}
_gtv1 = _gen1O;
}
меняем схему сдвигая присваивание вниз:
смотрим код:
Код: Выделить всё
bool _gtv1 = 0; //ВРЕМЯ_БЛОКИРОВКИ
int _gtv2 = 10; //НЕКОЕ_УСЛОВИЕ
long _gtv3 = 0; //ЛЮБАЯ_РАБОТА_НИЖЕ_ПО_СХЕМЕ
bool _gen1I = 0;
bool _gen1O = 0;
unsigned long _gen1P = 0UL;
void setup()
{
}
void loop()
{
if (( ((_gtv2) > (0)) && (!(_gtv1)) )) {
if (! _gen1I) {
_gen1I = 1;
_gen1O = 1;
_gen1P = millis();
}
} else {
_gen1I = 0 ;
_gen1O = 0;
}
if (_gen1I && _gen1O) _gen1O = !( _isTimer( _gen1P , 100 ));
_gtv1 = _gen1O;
if (( ((_gtv2) > (0)) && (!(_gtv1)) )) {
_gtv3 = 100500;
}
}