Paso 6: Cuestiones relativas al desarrollo
Durante el desarrollo de este proyecto me encontré con algunos problemas. Voy a describir los temas y cómo los resolví.
- El puerto serie y la biblioteca DMX tienen un conflicto con el controlador de interrupción. Esto significa que no se puede depurar utilizando el terminal de serie y tiene el escudo DMX trabajando al mismo tiempo.
Aquí lo que hice para resolver este problema:
- Definí SERIAL_DEBUG_ENABLED
- He utilizado #ifdef para compilar condicionalmente las funciones de la serie/DMX de entrada/salida.
- Por alguna razón desconocida que no pude #ifdef el archivo de cabecera #include para tener que comentarlo de entrada/salida para hacerlo funcionar.
Ver ejemplos a continuación.
PARA DMX
// Comment out for Serial but not DMX //#define SERIAL_DEBUG_ENABLED // Comment out for Serial - include for DMX #include <conceptinetics.h> // Serial or DMX but not both #ifdef SERIAL_DEBUG_ENABLED Serial.begin (9600); #else dmx_master.enable (); #endif
PARA SERIAL ACTIVADO
// Comment out for Serial but not DMX #define SERIAL_DEBUG_ENABLED // Comment out for Serial - include for DMX //#include <conceptinetics.h> // Serial or DMX but not both #ifdef SERIAL_DEBUG_ENABLED Serial.begin (9600); #else dmx_master.enable (); #endif