Etape 46 : Logiciel : comment la grille de LED sont mises à jour
La meilleure façon d’expliquer comment mettre à jour la grille est d’utiliser un petit exemple. Si nous voulions allume tous les voyants de ROW7 et tout le reste des voyants ont, nous pouvons créer une fonction telle que celle-ci.
Sub Turn_On_ROW7(void)
{
int i ;
Effacer chaque LED dans toutes les 32 lignes
pour (i = 0; i < 32; i ++)
LED_data [i] = 0x000 ;
Allumez tous les 12 des LEDs en ROW7
LED_data [7] = 0xFFF ;
Définissez l’indicateur de mise à jour afin que la grille sera mis à jour de la prochaine interruption Timer3
HT1632_UPDATE = 1 ;
}
Dès Timer3 interrompt, elle verra que HT1632_UPDATE est défini et appelez LED_Refresh_Grid(&LED_data) pour mettre à jour la grille avec les nouvelles données que nous venons de mettre dans le tableau LED_data [x]. Vous pouvez mettre à jour la grille LED directement (en appelant LED_Refresh_Screen(x) directement à partir de la fonction) et substituer l’interruption, mais la plupart du temps, il n’est pas nécessaire.