Iniciar e parar looping via Serial

If (serial.available())
{
Op = Serial.read(); //Le o conteudo do Serial.read
}

While( op == 'A' ) // Se ele for igual a A, começa o looping de piscar o LED
{
Digital Write(1,HIGH);
Delay(1000);
Digital Write(1,LOW);
Delay (1000);
Op = Serial.read(); // Após piscar a primeira vez ele verifica se o serial.read ainda é 'A', se eu digitar 'B' ele temq eu sair do looping
}
If(op=='B') {
DigitalWrite(1,LOW);
}
}

Pessoal minha duvida é como controlar um looping via serial, como eu faço pra ele começar quando eu mando um A e parar apenas quando eu mando um B

Duas hipoteses...

If (serial.available())
{
Op = Serial.read(); //Le o conteudo do Serial.read
}
if (Op == 'A') { // comeca... 
while(  Serial.read() != 'B') // Enquanto nao for igual a B... 
{
Digital Write(1,HIGH);
Delay(1000);
Digital Write(1,LOW);
Delay (1000);
Op = Serial.read(); 
}// fecha while
DigitalWrite(1,LOW);
}// fecha if...

Ou...

If (serial.available())
{
Op = Serial.read(); //Le o conteudo do Serial.read
}

if (Op == 'A') {
while(1) // Se ele for igual a A, começa o looping de piscar o LED
{
Digital Write(1,HIGH);
Delay(1000);
Digital Write(1,LOW);
Delay (1000);
if ('B' == Serial.read()) break; // sai daqui se Serial REad igual a B
}// fecha while

DigitalWrite(1,LOW);
}//fecha if