Gérer la communication avec le module d'affichage MAX7219
publication: 20 février 2023 / mis à jour 20 février 2023
Appel à collaboration
Vous développez des montages, simples ou complexes avec ESP32 et ESP32forth.
Partagez-les ici sur ce site.
ESP32forth ne pourra se développer qu'avec la collaboration active de toutes les bonnes volontés.
Vos montages peuvent aider d'autres développeurs.
Les montages des autres développeurs peuvent vous aider.
Pour proposer un article ou un montage, cliquez ici
Transmission de signaux vers le module MAX7219
La sélection du périphérique MAX7219 s'effectue à l'aide du mot MAX7219.select
.
La dé-sélection du périphérique MAX7219 s'effectue à l'aide du mot MAX7219.deselect
.
\ CS select for MAX7219 : MAX7219.select ( -- ) VSPI_CS LOW digitalWrite ; \ CS deselect for MAX7219 : MAX7219.deselect ( -- ) VSPI_CS HIGH digitalWrite ;
Rappel: la sélection d'un périphérique s'effectue en mettant le pin pointé par VSPI_CS
au niveau bas.
Une transmission de données ne peut avoir lieu qu'après avoir sélectionné le module MAX7219, ce que fait le mot MAX7219.send
:
\ send two bytes to MAX7219 thru SPI port : MAX7219.send ( c1 c2 -- ) MAX7219.select SPI.write SPI.write MAX7219.deselect ;
Ce mot MAX7219.send
transmet deux octets: un octet de commande, un octet de donnée.
Les commandes de contrôle du module MAX7219
\ definition of MAX7219 parameters 4 value #NB_MAX7219 \ for 32 x 8 display size \ send a command an data to MAX7219 : MAX7219.send.command { data command -- } #NB_MAX7219 for aft data command MAX7219.send then next ; \ definition of MAX7219 commands $00 constant _NO-OP \ $00 $09 constant _DECODE-MODE \ val: $00 for led matrix $0a constant _INTENSITY \ range $00..$0f $0b constant _SCAN-LIMIT \ range 0..7 $0c constant _SHUTDOWN \ range 0|1 $0f constant _DISPLAY-TEST \ range 0|1 : MAX7219.normal ( -- ) $01 _SHUTDOWN MAX7219.send.command ; : MAX7219.shutdown ( -- ) $00 _SHUTDOWN MAX7219.send.command ; : MAX7219.intensity { intens -- } ( 0|1 -- ) intens _INTENSITY MAX7219.send.command ; : MAX7219.decode { decod -- } ( 0 -- ) decod _DECODE-MODE MAX7219.send.command ; : MAX7219.scan.limit { scan -- } ( 0..7 -- ) scan _SCAN-LIMIT MAX7219.send.command ;
Legal: site web personnel sans commerce / personal site without seling