Paso 14: "modo punto" animación
void Dot_Mode(void)
{
UInt16 nivel;
nivel = (0xF0 & PORTD (uint16)) << 2.
nivel | = ((0xFC & PORTB) >> 2);
interruptor (nivel)
{
caso 0x03FF: SPI_Send_595(0x000000C0); rotura;
caso 0x03DF: SPI_Send_595(0xE00000C0); rotura;
caso 0x03CF: SPI_Send_595(0x1C0000C0); rotura;
caso 0x03C7: SPI_Send_595(0x038000C0); rotura;
caso 0x03C3: SPI_Send_595(0x007000C0); rotura;
caso 0x03C1: SPI_Send_595(0x000E00C0); rotura;
caso 0x03C0: SPI_Send_595(0x0001C0C0); rotura;
caso 0x01C0: SPI_Send_595(0x000038C0); rotura;
caso 0x00C0: SPI_Send_595(0x000007C0); rotura;
caso 0x0040: SPI_Send_595(0x000000CC); rotura;
caso 0 x 0000: SPI_Send_595(0x000000C3); rotura;
}
}
Para hacer cualquier otra animación, abrir la calculadora de datos medidor de VU y apagar el LED específico o desactivar copia y pegar los datos hexagonales en la declaración del interruptor anterior. Poner ese valor hexadecimal en cualquiera de los SPI_Send_595 (* hexagonal de datos) y se enciende en ese nivel de sonido. Puede hacer un montón de animaciones y tenerlos todos controlados por el interruptor táctil (S2) en la PCB. Hacer que cada vez que pulsemos S2 el VU-metro se cambia a una animación diferente. Mi PCB no tiene un interruptor o lo hubiese hecho, que es otra característica que he añadido a los archivos PCB después de que ya había montado mi medidor de VU. Pues si ha hecho este paso entonces Felicidades, has envuelto este proyecto!