Paso 2: Archivos de la reutilización de Arduino para el micro y el temporizador
Usted puede encontrar los archivos necesarios en la carpeta de Arduino:
hardware/arduino/corazones/arduino (sí dos veces arduino)
allí encontrará los archivos de arduino, que ahorra un montón de personas que aprenden el C de AVR), pero a un costo de velocidad y el tamaño.
Necesitaba las funciones micro y la interrupción, que encontré en wiring.c
He copiado: (también copiar las variables y define necesitaba de wiring.h)
Signal(TIMER0_OVF_vect)
millis() largo sin firmar
micros() largo sin firmar
es pero muy importante, que el contador de tiempo/interrupción comenzó el:
void init()
Hay un montón de código que puede omitir si sabes que utilizar un atmega328.
Entonces obtenemos este código en dos archivos agradables, una fuente y un encabezado:
http://http//:www.contrechoc.com/instructables/Infra-red.zip
(Este es un proyecto total de AVR que se puede utilizar para más diversión).
También se incluyen aquí son una UART.c y UART.h, para la comunicación con el cristal líquido.
Verás que he hecho el relleno una variable int.
También el analógico leído se activa por un LDR y un perno se utiliza para hacer el hombro enciende para arriba cuando se recibe una señal en 38kHz.
initTimers(); se utiliza para iniciar las interrupciones, la función init() del wiring.c
En el archivo de encabezado se encuentran las conexiones con los grupos de LED (tiras LED flexibles)
conexiones de pines del círculo led
sin firmar filas char [8] = {7, 6, 5, 4, 3, 2, 1, 0};
sin firmar cols char [8] = {15, 14, 13, 12, 11, 10, 9, 8};
La función de interrupción es diferente de las tiras de LED flexibles que usé antes:
Signal(TIMER0_OVF_vect)
En esta función, además del "código de Arduino" he añadido mi propia interruptFie();
Esta función se encarga de las actividades de matriz de LED bloque.
En la función de setIRPattern (uint8_t cuenta) puede ver la matriz para el LED de la cinta del hombro.
Los 3 indicar forma de LED que falta el 64 (no utilice completo 64 = 8 x 8 LED del chaleco).