Interaktiva LED öl Pong tabell (46 / 87 steg)
Steg 46: Programvara: hur LED Grid är uppdaterad
Det bästa sättet att förklara hur du uppdaterar rutnätet är att använda ett litet exempel. Om vi ville lysa upp alla lamporna i ROW7 och har alla resten av LEDs bort, skulle vi skriva en funktion som denna.
void Turn_On_ROW7(void)
{
int i;
Rensa varje LED i alla 32 rader
för (jag = 0; jag < 32; i ++)
LED_data [i] = 0x000;
Slå på alla 12 av lysdioderna i ROW7
LED_data [7] = 0xFFF;
Ange flaggan uppdatering så att rutnätet uppdateras på det nästa Timer3 avbrottet
HT1632_UPDATE = 1;
}
Så snart Timer3 avbryter, kommer att det se att HT1632_UPDATE är inställt och kallar LED_Refresh_Grid(&LED_data) för att uppdatera rutnätet med nya data som vi har just lagt in i matrisen LED_data [x]. Du kan uppdatera rutnätet LED direkt (genom att anropa LED_Refresh_Screen(x) direkt från funktion) och åsidosätta avbrottet, men för det mesta är det inte nödvändigt.