Test du vocabulaire SPI et du port VSPI
publication: 16 juin 2022 / mis à jour 16 juin 2022
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
Test du vocabulaire SPI
Après compilation et transfert de notre version ESP32forth intégrant le vocabulaire SPI
,
on procède au test de ce vocabulaire. Ces tests sont effectués à l'aide d'un petit oscilloscope:
Détermination des broches du port SPI
La carte ESP32 a deux ports SPI accessibles. Nous nous intéressons aux broches marquées VSPI_CS0 (G5), VSPI_CLK (G18), VSPI_MISO (G19) et VSPI_MOSI (G23). Ces bornes sont définies par des constantes:
\ define VSPI pins 19 constant VSPI_MISO 23 constant VSPI_MOSI 18 constant VSPI_SCLK 05 constant VSPI_CS \ define SPI port frequency 40000000 constant SPI_FREQ
Initialisation du port VSPI
La broche VSPI_CS doit être initialisée comme sortie numérique. L'état de cette
broche n'est pas contrôlé par les mots du vocabulaire SPI
. Voici
comment est initialisé notre port VSPI:
\ select SPI vocabulary SPI \ initialize HSPI port : init.VSPI ( -- ) VSPI_CS OUTPUT pinMode VSPI_SCLK VSPI_MISO VSPI_MOSI VSPI_CS SPI.begin SPI_FREQ SPI.setFrequency ;
Transmission d'une donnée vers le port VSPI
La transmission d'une donnée s'effectue en utilisant le mot SPI.write
du nouveau vocabulaire SPI
:
\ Write 8 bit data to VSPI : wrt8Data ( data -- ) VSPI_CS LOW digitalWrite SPI.write VSPI_CS HIGH digitalWrite ;
Test du port VSPI
On termine en créant un mot testVspi
. Ce mot contient une boucle
qui peut être interrompue en appuyant sur une touche du clavier.
: testVspi ( -- )
init.VSPI
begin
80 wrt8Data
key? until
SPI.end
;
Le lancement du mot testVspi
initialise le port
VSPI. Dans la boucle, le code 80 wrt8Data
envoie
des données sur la broche MOSI (Master Out Slave in).
On teste d'abord la broche G18 VSPI_SCLK en vérifiant qu'il y a bien le signal d'horloge:
On teste ensuite le pin G23 VSPI_MOSI. On détecte la présence de la trame correspondant à la donnée transmise:
A ce stade, on considère que notre vocabulaire SPI
semble opérationnel.
Les détails de chaque mot du vocabulaire SPI
sont développés ici:
Définitions du vocabulaire SPI
Legal: site web personnel sans commerce / personal site without seling