Varias veces tuve algunos resultados sospechosos en el Monitor de serie después de cargar el código al Arduino: como la salida eterna de espacios en blanco o de repente cortes de cadenas o cadenas codificadas.
Debido a que no hubo error de compilación o advertencia en el IDE de Arduino, pensé que el Arduino estaba roto, pero después de algunas pruebas descubrí que el compilador IDE de Arduino no detecta todo tipo de errores, especialmente al asignar variables en un bucle para estructuras de matriz. Esto parece bloquear el Arduino en un corto período de tiempo.
¿Cómo puedo descubrir errores que el IDE de Arduino no muestra?
//
. :-(Parece que estás hablando de errores de tiempo de ejecución (del tipo de pérdida de memoria / segfault) aquí.
No hay forma de descubrir tales errores (a menos que peines con mucho cuidado a través del código) en el código que ya está escrito. Sin embargo, es bastante fácil evitar que esto suceda mientras se escribe el código. Solo tenga mucho cuidado al escribir bucles o llamadas recursivas; pregúntate "¿esto podría salirse de control?". Si parece que estas son posibilidades de que "se salga de control", escriba el código para protegerse contra eso.
Acerca de los valores predeterminados: solo verifique los valores límite de los índices de matriz y debería estar bien. Si está utilizando punteros, tenga cuidado con la aritmética de punteros.
fuente