Outils pour utilisateurs

Outils du site


communication_protocole_spi

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
communication_protocole_spi [2022/09/05 07:34] – supprimée - modification externe (Unknown date) 127.0.0.1communication_protocole_spi [2022/09/06 07:34] (Version actuelle) – [Arduino retourne ce qui a été envoyé] serge
Ligne 1: Ligne 1:
 +====== Communication avec le protocole SPI ======
 +<WRAP center round box 60% centeralign>
 +**{{tagpage>spi|Toutes les pages sur protocol SPI}}**
 +</WRAP>
  
 +=====Ressources=====
 +Wikipedia:
 +  * **https://fr.wikipedia.org/wiki/Serial_Peripheral_Interface**
 +  * **https://en.wikipedia.org/wiki/Serial_Peripheral_Interface**
 +
 +Article à lire en 1er:
 +  * **[[spi_documentation_1|Les principes]]**
 +
 +  * **[[spi_documentation_2|Communication entre Raspberry Pi et Arduino en SPI]]** Ne marche pas sur une ESP32
 +    * [[https://www.youtube.com/watch?v=dzVLRjH5i78|La video, sans intérêt]] du tuto interressant de [[http://www.penguintutor.com/electronics/rpi-arduino-spi|penguintutor.com]] Using Raspberry Pi and Arduino together through SPI serial communications
 +    * [[https://roboticsbackend.com/raspberry-pi-master-arduino-uno-slave-spi-communication-with-wiringpi/|roboticsbackend.com]] Raspberry Pi (master) Arduino Uno (slave) SPI communication with WiringPi
 +
 +
 +  * [[https://circuitdigest.com/microcontroller-projects/stm32-spi-communication-tutorial|circuitdigest.com]] How to Use SPI Communication in STM32 Microcontroller
 +  * [[https://www.digikey.fr/fr/articles/why-how-to-use-serial-peripheral-interface-simplify-connections-between-multiple-devices|digikey.fr]] Pourquoi et comment utiliser l'interface périphérique série pour simplifier les connexions entre plusieurs dispositifs 
 +
 +
 +=====Documents PDF=====
 +  * {{ :media_16:8-bus_spi.pdf |}} en français, destiné aux Terminales SI
 +  * {{ :media_16:protocole-spi.pdf |}} avec quelques infos pour Arduino
 +  * {{ :media_16:3300-le-bus-spi.pdf |}} en français, explications techniques
 +
 +
 +
 +=====SPI entre Raspberry et Arduino=====
 +**Avec arduino en mode slave**
 +
 +====Ressources====
 +  * **[[http://robotics.hobbizine.com/raspiduino.html|raspberry pi to arduino spi communication]]**
 +
 +====Slave Mode with SPI.h====
 +**et avec des interrupt**
 +**[[https://arduino.stackexchange.com/questions/76528/spi-slave-programming-for-arduino|SPI Slave Programming for Arduino]]** @ arduino.stackexchange.com\\
 +SPI.h library by default only support Master mode, the SPI.begin() will automatically set slave select (ss) pin to HIGH whether you have pinMode(ss, OUTPUT) in your setup() code or not and set the Arduino as an SPI master.
 +As the SPI library does not contain the functionality for slave mode, in order to use Arduino as a Slave, you will need to do some customised setup, mainly on 
 +  - setting MISO as OUTPUT for slave to send data
 +  - enable slave mode by setting the SPCR register
 +  - enable interrupt when data is received.
 +
 +====Nick Gammon explique tout sur le SPI====
 +  * **[[http://www.gammon.com.au/spi|Le site de Nick Gammon sur le SPI]]** [[https://www-gammon-com-au.translate.goog/spi?_x_tr_sl=en&_x_tr_tl=fr&_x_tr_hl=en|traduit FR]]
 +
 +Les scripts sont sur **[[https://github.com/sergeLabo/arduino_high_frequency|GitHub sergeLabo arduino_high_frequency]]** avec la **version python des master**.
 +
 +===How to make an SPI slave===
 +  * [[https://www.gammon.com.au/forum/?id=10892&reply=1#reply1|la documentation]]
 +  * [[https://github.com/sergeLabo/arduino_high_frequency/tree/main/NG_master_slave_example|le code source NG_master_slave_example]]
 +Montre le problème du 1er transfert.
 +
 +===How to get a response from a slave===
 +  * https://www.gammon.com.au/forum/?id=10892&reply=2#reply2
 +  * https://www-gammon-com-au.translate.goog/forum/?id=10892&reply=2&_x_tr_sl=en&_x_tr_tl=fr&_x_tr_hl=en#reply2
 +  * [[https://github.com/sergeLabo/arduino_high_frequency/tree/main/How_to_get_a_response_from_a_slave|le code source ]]
 +
 +===Envoyez et recevez tout type de données ===
 +  * https://www.gammon.com.au/forum/?id=10892&reply=8#reply8
 +
 +
 +{{tag> communication sb spi }}