Paso 6: Configuración de la interrupción lee el puerto analógico
Podemos establecer una interrupción para que varias veces se lee un puerto analógico.
(Ver artículo de Amanda para más detalles)
Mi subrutina "startad" utiliza un escalar antes de 128.
Esto crea una interrupción repetida para que Puerto A1 se lee continuamente en 9.4 KHz.
La subrutina de interrupción tiene una función doble:
1) si el contador es menos que el número de lecturas:
- Añadir el byte de datos de audio en el búfer de 512 bytes.
- Cuando el buffer está lleno, escribe el búfer en uno ir a sdcard - 512 bytes es el tamaño óptimo para guarda de datos rápida. Restablecer el recuento de búfer a cero para el siguiente byte de audio entrante.
2) cuando el contador es igual al número de lecturas:
Detener la interrupción que ocurre otra vez
- Calcular cuánto tiempo el proceso tuvo, frecuencia etc..
- Utilice el frecuencia y tamaño de archivo para actualizar el encabezado del archivo de onda.
- Liberar puerto analógico A1 y activar puerto A0 que funcionan los botones del lcd.