Étape 10 : Utilisant le PIC18F4550
Comprendre quels LEDs souhaitée dans et les LEDs vous voulez OFF. Nous utiliserons les données de l’exemple 3 à l’étape #8.
MSb Lsb Hex
IC1 - 1er octet envoyé -> 11000000 0xC0
IC2 - 2ème octet envoyé -> 0 x 00 00000000
IC3 - 3ème octet envoyé -> 0 x 00000110 06
IC4 - 4ème octet envoyé -> 0 x 00001001 09
C’est comment les données seraient envoyées dans la fonction : SPI_Send_595(0xC0000609) ;
Assez simple. Il suffit de prendre chaque valeur hexadécimale octets et l’organiser dans une variable 32 bits en partant le 1er octet et continuant jusqu’au 4e octet. SPI_Send_595(UInt32 Data) s’occupe de l’envoi et de verrouiller les données du 74HC595. Tout le code est commenté afin je signalerai seulement quelques pseudo-code ci-dessous qui explique le fonctionnement de la fonction.
Pseudo-code
-variable 32 bits est passé dans la fonction SPI_Send_595(data)
-Le MSB est le premier octet transmis hors le PIC18F4550 (il finira dans IC1)
-Le deuxième octet est transmis hors de la PIC (il finira par en IC2)
-Le troisième octet est transmis hors de la PIC (il finira par en IC3)
-Le LSB est le dernier octet transmis hors de la PIC (il finit dans IC4)
-RD2 va haut, qui s’enclenche les données dans les registres à décalage
-RD2 va faible, retournant à son état par défaut