прерывание или остановка For

Flight
Offline
Зарегистрирован: 02.10.2013

Привет! Подскажите пожалуйста, как мне сделать вот такую вот штуку…

Мне нужно что бы:

  1. Диод плавно загорался при отсылке команды (вроде бы сделал)  
  2. При отсылки второй команды он останавливался на том моменте когда эта команда пришла.
  3. А потом когда поступает третья команда он продолжал загораться с того момента где бы остановлен.   Вот такое только смог сделать.   
int led = 5;
int incomingByte = 0;

void setup(){
  Serial.begin(9600);
}

void loop(){
  if (Serial.available() == 1){
    incomingByte = Serial.read();
    for (int i=0; i <= 255; i++){
      analogWrite (led, i);   
      if  (i == 50){
        i = 0;
        break;
      }
      delay(25);
    }
  }
  else{
      analogWrite (led, 0);
    }
    delay (100);
  }
    


 

vvadim
Offline
Зарегистрирован: 23.05.2012

for блокирующая и пока в ней не выполнится что вы туда запихнули ничего не произойдёт. Нужно другое решение.

Flight
Offline
Зарегистрирован: 02.10.2013

Ясно. А как тогда можно сделать?