Lectura de interruptores con ATtiny2313 (3 / 9 paso)

Paso 3: Una digresión menor depuración.

Si eres como yo (y cada otro programador en el mundo) probablemente han experimentado épocas cuando el código de "sin errores" cuidadosamente has escrito y compilado no hace lo que usted espera. Tal vez simplemente no hace nada! ¿Cuál es el problema? ¿Cómo vas a saber?

Afortunadamente, existen varios enfoques para conseguir cosas para trabajar. (Obtener este libro en un excelente tratamiento del tema de la depuración. http://www.debuggingrules.com/) Me gustaría ofrecer algunas sugerencias simples relacionados con el tema de la depuración de aplicaciones del microcontrolador.

Primer paso es construir sobre lo que sabes. Si se ha llegado a blinkenlight a trabajar una vez, luego utilizarlo de nuevo para ver donde están en su programa. Me gustaria tener el LED parpadeará dos veces para señalar el comienzo del programa. Puede poner el código en hacerlo inicialmente en el comienzo de su programa. Una vez que usted sabe que nada está mal con el hardware, crear una función para hacer el parpadeo. Esta es la función que utilizo.

/*------------------------------------------------------------------------
** blinkEm - función a parpadear LED usando PD4
** PD4 debe estar configurado como salida.
** ---------------------------------------------------------------------*/
void blinkEm (uint8_t cuenta) {}
mientras (cuenta > 0) {}
PORTD = _BV(PD4);
_delay_ms(1000);

PORTD = ~ _BV(PD4);
_delay_ms(1000);
cuenta--;
}
}

Ahora es posible utilizar esta función en varios puntos en el código como una señal de que el código ha ejecutado hasta ahora. Conocer el código corre significa que puede examinar cuidadosamente cada sección que ha correr, pero no hace lo que espera, para encontrar errores.

Cambiando una cosa a la vez es una técnica clave para la depuración también (descrito en la referencia anterior). Este método clásico funciona junto con el "divide y vencerás": pasos de bebé para agregar funcionalidad de forma incremental. Esto puede parecer como un acercamiento lento, pero es no casi tan lento como tratando de depurar una gran parte del código de trabajo no todos a la vez.

Artículos Relacionados

Reparar un difícil acceso interruptor con Sugru

Reparar un difícil acceso interruptor con Sugru

por lo tanto, tengo este amplificador viejo como una donación para el local Hackspace. El problema es que un pequeño pedazo del interruptor está roto, por lo que el interruptor no permanece en su posición, por lo que no encienda. He intentado arregla
¿Cómo leer muchos interruptores con un MCU Pin

¿Cómo leer muchos interruptores con un MCU Pin

ha usted siempre sido chugging lejos en un proyecto (s) y el proyecto sigue creciendo y creciendo, mientras que le agregue más cosas (que llamamos un Creaturism Feaping)?  En un proyecto reciente, fue la construcción de un medidor de frecuencia y aña
Ahorro de energía interruptor con Sensor de presencia

Ahorro de energía interruptor con Sensor de presencia

¿Enfrentar tales situaciones cuando dejas tus luces de lectura, ventiladores de mesa o soldadores sin la conmutación y después darse cuenta de que estaban en demasiadas horas que posteriormente salta de sus facturas de electricidad? Bueno, si tienes
La batería descarga protector interruptor con ATtiny85 para coche o Lipo batería de plomo ácido

La batería descarga protector interruptor con ATtiny85 para coche o Lipo batería de plomo ácido

Como tengo varios protectores de batería para mis coches y sistemas solares que había encontrado los comerciales a $49 a caro. También utilizan demasiada energía con 6 mA. No pude encontrar las instrucciones sobre el tema. Así que hice mi propio dibu
Toque el interruptor con Lm555

Toque el interruptor con Lm555

El circuito de interruptor Touch detecta tensiones vagabundas producidas por voltajes de las cañerías y la acumulación electrostática en una habitación. Son tacto dos placas y la resistencia del dedo cambia el voltaje en el pin 2 o 6 para cambiar el
CMS2CMS: Automated Kunena a bbPress interruptor con un Plugin

CMS2CMS: Automated Kunena a bbPress interruptor con un Plugin

¿crees que es hora de cambiar el software del Foro? ¿Cansado de usar la misma plataforma viejo? ¿Has considerado alguna vez la migración?Sin duda Kunena es un componente popular foro Web Joomla que enriquecerán la web con nuevas posibilidades de comu
Lectura de sensores con un microprocesador.

Lectura de sensores con un microprocesador.

En mi Instructable anterior mostré cómo simples comandos podría ser utilizado para activar la salida de un microprocesador y un LED de luz.Debo subrayar que no estoy conectado con Picaxe y estos proyectos son los utilizan en la escuela para enseñar p
Termómetro de interior con pantalla LCD y lectura de la "Analogía" con NeoPixels

Termómetro de interior con pantalla LCD y lectura de la "Analogía" con NeoPixels

¡ Hola! Este Instructable es un proyecto de Arduino de rápida, intermedio que tiene una temperatura de TMP36, lee en una pantalla LCD y le da una lectura de "Analogía" en un palo de neopixel eso cambios de color y el número de luces encendidas c
Simple, seguro, Internet el interruptor de alimentación (110V/240V) con anulación Manual

Simple, seguro, Internet el interruptor de alimentación (110V/240V) con anulación Manual

IoT extensión Cable interruptor en línea, Android controlado por pfodApp. Opcionalmente con el tiempo de vuelta apagado.Ninguna programación Android requeridaEsto controla un Android barato, simple y personalizable interruptor de alimentación (110V a
Interruptores de luz con estilo

Interruptores de luz con estilo

de ahora en adelante, cuando alguna vez entrar en su casa y encienda las luces, va a recordar este instructable.Si te gusta la electrónica, sin duda va a gustar hacer un atenuador con estilo hacia fuera de un plato de disco duro muerto.Disfruta de...
Cómo controlar un 16 x 2 LCD usando un ATtiny2313 AVR

Cómo controlar un 16 x 2 LCD usando un ATtiny2313 AVR

si usted está recibiendo sólo en microcontroladores hay mucho saber ya que es probable que descubrió. Hay un montón de buenos tutoriales en línea para el Atmel AVR y lo más probable es que con ver algunos de los por ahora. Recientemente se metió en m
Hacer un robot simple de RF inalámbrico con Arduino!

Hacer un robot simple de RF inalámbrico con Arduino!

ACTUALIZACIÓN: HE AÑADIDO CONTROL DE JOYSTICK A ESTE ROBOT. POR FAVOR CONSULTE EL PASO 7 SI DESEA CONTROLAR EL ROBOT POR MEDIO DE JOYSTICK.Hola,Este es mi primer instructivo y en este tutorial voy a mostrarte, cómo construir un simple robot inalámbri
ARD-e: el robot con un Arduino como un cerebro

ARD-e: el robot con un Arduino como un cerebro

cómo crear un robot de código abierto Arduino controlado por menos de $100.Esperemos que después de leer esto instructable usted será capaz de dar su primer paso en robótica. ARD-e cuesta unos $90 a $130 dependiendo de cuánto electrónica repuesto tie
Esmagamus guía: viviendo con usted coche del circuito de refrigeración

Esmagamus guía: viviendo con usted coche del circuito de refrigeración

Esmagamus esta guía cubre pasos básicos que cualquier persona puede tomar para evitar cualquier problema con uno de los sistemas más importantes del automóvil: el circuito de refrigeración.Incluye:-Breve introducción al funcionamiento de un circuito