Duda con bucle while y serial println

Buenas a todos!!!

Tengo el siguiente codigo.

while(cont2 < 50){
cont2 = cont2 + 1;
cadena2=String(cont2);
Resultado=cadena1+cadena2; 
[b]delay(20);[/b]
Serial.begin(9600);
Serial.println(cont2);
}
cont2 = 0

El caso es que si no le meto el delay(20), no me muestra bien el resultado..., no se si es que va tan rapido que no es capaz de capturarlo o no se... e hay la duda.

RESULTADO MOSTRADO SIN DELAY :o :
⸮⸮G⸮j

RESULTADO MOSTRADO CON DELAY:
1
2
3
4
5
....(ETC.)

¿Que es lo que puede ocurrir?

Saludos

No muestras como inicializaste cadena1! Coloca el código completo

surbyte:
No muestras como inicializaste cadena1! Coloca el código completo

no hace falta

el problema es que estas inicializando el puerto serie para cada cadena de caracteres

La inicializacion del puerto se tiene que hacer solamente en el Setup una vez

void setup
{
Serial.begin(9600);
//el resto de cosas que tengas en el setup
}

void loop()
{

//cosas del loop

while(cont2 < 50){
cont2 = cont2 + 1;
cadena2=String(cont2);
Resultado=cadena1+cadena2; 

Serial.println(cont2);
}
cont2 = 0

//mas cosas del loop

}

Compruebo y te digo, pero ahora que lo dices tiene bastante seguido!!

Saludos

surbyte:
No muestras como inicializaste cadena1! Coloca el código completo

no hace falta[/quote]

Asi que no hace falta y terminas agregando un setup y un loop cuando el pone que tiene una respuesta
.

ppdeluxe:
RESULTADO MOSTRADO CON DELAY:
1
2
3
4
5
....(ETC.)

Yo le pedí que el ponga SU código nada mas y las normas dicen que pongas TODO el código no algo parcial.
Esta claro que su código COMPLETO entrega una salida supuestamente con ese delay(20) y no funciona sin el, y eso preguntó, o yo leo otra cosa?

Si. Pregunto eso.

Evidentemente el puerto se inicializa en el lugar incorrecto. Ahora bien, si lo hace cada 20 milisegundos no se advierte el error en el monitor si no observamos el codigo, y sin el delay hace que error sea manifiesto hasta en el monitor porque ni siquiera le da tiempo a mostrar la linea que ya vuelva inicializar.

Esta claro cual es error pero yo tambien estaba esperando al codigo completo, siempre hace falta.

surbyte:
no hace falta

Asi que no hace falta y terminas agregando un setup y un loop cuando el pone que tiene una respuesta
.

Yo le pedí que el ponga SU código nada mas y las normas dicen que pongas TODO el código no algo parcial.
Esta claro que su código COMPLETO entrega una salida supuestamente con ese delay(20) y no funciona sin el, y eso preguntó, o yo leo otra cosa?

No hace falta conocer el setup de el... Solo que añada esa línea

Pero en fin no espero que me entendáis siempre estáis en mi contra, me da igual

  1. Tips para obtener mejores respuestas

• Agrega el Sketch (código) ¡completo! Si no lo haces harás perder el tiempo a las personas que te pidan hacerlo. Sin embargo, con problemas de código, si es posible postear un sketch mínimo que reproduzca el problema - sin cientos de líneas de código. Si el problema se desvanece en el sketch reducido, el error no estaba donde pensabas que estaba.