Outils pour utilisateurs

Outils du site


spi_documentation_2

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
spi_documentation_2 [2022/05/30 15:33] sergespi_documentation_2 [2022/05/31 07:45] (Version actuelle) serge
Ligne 4: Ligne 4:
 </WRAP> </WRAP>
  
-=====Qui ne marche pas=====+=====Une ESP32 n'est pas une carte Arduino===== 
 +**Les sketchs ci-dessous ne fonctionnent pas avec une ESP32** 
 + 
 +=====Exemple 1===== 
 +https://roboticsbackend.com/raspberry-pi-master-arduino-uno-slave-spi-communication-with-wiringpi/ 
 + 
 +Raspberry Pi (master) Arduino Uno (slave) SPI communication with WiringPi 
 + 
 +<code csharp> 
 +#include <SPI.h> 
 +void setup() { 
 +  // have to send on master in, *slave out* 
 +  pinMode(MISO, OUTPUT); 
 +  // turn on SPI in slave mode 
 +  SPCR |= _BV(SPE); 
 +  // turn on interrupts 
 +  SPI.attachInterrupt(); 
 +
 +// SPI interrupt routine 
 +ISR (SPI_STC_vect) 
 +
 +  byte c = SPDR; 
 +  SPDR = c+10; 
 +}  // end of interrupt service routine (ISR) for SPI 
 + 
 +void loop () { } 
 +</code> 
 + 
 +**Raspberry Pi avec wiringPi** 
 +<code> 
 +#include <iostream> 
 +#include <wiringPiSPI.h> 
 +#define SPI_CHANNEL 0 
 +#define SPI_CLOCK_SPEED 1000000 
 +int main(int argc, char **argv) 
 +
 +    int fd = wiringPiSPISetupMode(SPI_CHANNEL, SPI_CLOCK_SPEED, 0); 
 +    if (fd == -1) { 
 +        std::cout << "Failed to init SPI communication.\n"; 
 +        return -1; 
 +    } 
 +    std::cout << "SPI communication successfully setup.\n"; 
 +    
 +    unsigned char buf[2] = { 23, 0 }; 
 +    wiringPiSPIDataRW(SPI_CHANNEL, buf, 2); 
 +    std::cout << "Data returned: " << +buf[1] << "\n";  
 +    return 0; 
 +
 +</code> 
 +Voir le lien pour la compilation de wiringPi et de ce script 
 + 
 +=====Exemple 2=====
 Tiré de [[http://www.penguintutor.com/electronics/rpi-arduino-spi|penguintutor.com Using Raspberry Pi and Arduino together through SPI serial communications]]**\\ Tiré de [[http://www.penguintutor.com/electronics/rpi-arduino-spi|penguintutor.com Using Raspberry Pi and Arduino together through SPI serial communications]]**\\
-SPCR et SPDR pas défini !+Arduino: SPCR et SPDR pas défini !
 ====Raspberry==== ====Raspberry====
-<code python [enable_line_numbers="true"]>+<code python>
 import spidev import spidev
 import time import time
Ligne 82: Ligne 133:
  
 ====Arduino==== ====Arduino====
-<code csharp [enable_line_numbers="true"]>+<code csharp>
 #include <SPI.h> #include <SPI.h>
 // track if digital pins are set as input or output (saves reading registers)  // track if digital pins are set as input or output (saves reading registers) 
spi_documentation_2.1653924795.txt.gz · Dernière modification : de serge