¿Hay alguna manera de simular un programa ejecutado antes de grabarlo en la pizarra?

23

Los programas pueden, a veces, tener errores de tiempo de ejecución. Estos a veces son difíciles de encontrar y se pueden pasar por alto fácilmente. ¿Hay alguna forma de probar el programa antes de grabarlo en la pizarra?

    
pregunta asheeshr

3 respuestas

19

Hay algunos proyectos de simulador de Arduino por ahí.

Quizás uno de los más maduros es el Virtronics Simulator for Arduino , Video de YouTube aquí .

LapáginadeVirtronicsvinculadaanteriormentetambiénenumeraalgunosotrossimuladoresArduino,tantogratuitoscomodepago.

DadoelinterésqueevocaArduino,esprobablequehayamuchosmássimuladoresdeestetipo,porloquenotienesentidotratardeenumerarlosenunarespuestaaquí.

Loquevalelapenaseñalaresquetambiénhayun Arduino Simulator iPhone aplicación : esta no es una recomendación, aún no la he visto en funcionamiento.

En una nota al margen:

El Arduino es en sí mismo un tablero de prototipos / experimentación. Es ideal para programar código experimental, depurarlo, modificarlo y luego volver a actualizar el código nuevo, casi tantas veces como quiera . Si el código se cuelga, reinicie y vuelva a actualizar con cualquier cambio.

Por lo tanto, el mérito de usar un simulador, que nunca puede emular a la perfección los distintos tiempos del mundo real u otros problemas que podría enfrentar una aplicación, es cuestionable.

Si el costo de Arduino es la preocupación, hay algunas opciones abiertas:

  • Clones económicos de Arduino Nano en eBay: tengo varios Meduino Nano Enhancement , funcionan de manera excelente y tienen un precio de menos de $ 10 incluido el envío mundial:
  • HagasupropioArduino:elsitioArduinologuiaráatravésde haciendo uno en una placa de pruebas , que ni siquiera lo necesita. ¡Para soldar cualquier cosa!
respondido por el Anindo Ghosh
8

Puede encontrar errores de tiempo de ejecución si puede recorrer manualmente su programa con el Arduino conectado y depurar ( después descargando el código al Arduino). Está disponible en Visual Micro aunque requiere Visual Studio. Puede establecer puntos de interrupción, evaluar variables y cambiar valores de variables. También puede obtener una visualización de la memoria a lo largo del tiempo:

    
respondido por el Robert
4

Una forma de hacer esto sería crear un programa envolvente para el código real que simule todas las entradas y acepte salidas (creando así un bucle de retroalimentación) según el entorno real. Esto requeriría una cantidad variable de esfuerzo según el tipo de programa, el grado de prueba y el número de entradas.

Tenga en cuenta que mientras escribe el programa contenedor, debe seguir un enfoque de caja negra .

Delocontrario,esposiblequesucódigoexternonopruebeelprogramatanbiencomoseaposible,yaquetenerencuentaelcódigorealalcrearelcódigodepruebapuedehacerqueustedignoreloscasosdelímitesolasáreasproblemáticas(sehaobservadoqueestoocurrealhacer Prueba de caja blanca que es la alternativa).

    
respondido por el asheeshr

Lea otras preguntas en las etiquetas