Hola,
Tengo una duda a ver si me puede aclarar alguien.
byte[] receive = new byte[0];
int tick = Environment.TickCount;
while ((Environment.TickCount - tick) < 8000)
{
Application.DoEvents();
int p1 = Array.IndexOf(buffer, (byte)0x0A, 0, buffer.Length);
if (p1 > -1)
{
if ((buffer.Length > p1 + 1) && (buffer[p1 + 1] == (byte)0x0D))
{
receive = new byte[p1];
Array.Copy(buffer, 0, receive, 0, p1);
break;
}
}
}
Lo que pretendo es que en cuanto encuentro en la variable global buffer los
bytes 0x0A y 0x0D que se salga del bucle aunque no hayan pasado los 8
segundos. En la practica no parece que pase esto. Depurandolo no me sirve de
mucho porque ya no es tiempo real. Lo que quiero saber es que si con un
break se sale del bucle while? Hay alguna otra instrución para salir de un
bucle while? Hay algo raro en el codigo que yo no lo vea?
La variable buffer es lo que recibo por el puerto com como respuesta a un
comando que le doy.
Muchas gracias de antemano,
Catalin
Leer las respuestas