Paso 2: Hacer código más corto el camino fácil...
Vamos a empezar con un dibujo simple que comprueba el estado de uno de los 4 botones y lazos de ese valor a cada uno de 4 LEDs. Pulse cualquier botón, el LED correspondiente se enciende.
He incluido asignación de pines para las 5 tablas diferentes que se muestra aquí, el chipKIT Max32, DP32, Uno32, tarjetas Uc32 y CMOD y el Arduino UNO:
Ahora, cuando empecé a escribir código, estaba siempre el código más largo que pude pensar porque no sabía mejor. Me imagino que habría parecía algo como esto:
(Se puede utilizar con pocos cambios en las asignaciones de pines. Copiar y/sin comentarios según sea necesario. Estos pernos fueron elegidos porque hará más fácil manipular los registros más adelante. Más código se añadirá más adelante para cada una de estas placas.)
De arriba a abajo, este sketch es 73 líneas (sin contar comentarios), y usando MPIDE requerirá 6664 bytes de memoria para el chipKIT Uno32 y 1402 bytes para el Arduino UNO.
Ahora, echemos un vistazo a una versión modificada, esta vez utilizando algunos lazos de() parahacer las cosas repetitivas y algunas anidados digitalRead() y digitalWrite() comandos para asignar Estados de pin.
Este bosquejo es notablemente más corto. De hecho, es menos de un tercio en 20 líneas sin comentarios. Tarda un poco menos espacio en memoria (6324 bytes para chipKIT, 1074 bytes para Arduino), pero la única ventaja es que el bosquejo tiene menos líneas. La instrucción en memoria es aproximadamente el mismo. El compilador aún tiene que buscar y cargar el pinMode(), comandos de digitalRead() y digitalWrite() de los archivos de biblioteca de fondo. Estos vienen prefijados de tamaño, así que si usted los usa ni una sola vez las instrucciones de montaje se deben cargar en la memoria del chip.
Así que incluso si acortamos el código, es claro que no se puede ahorrar mucho espacio en el chip. Vamos a arreglar eso.