SPI Maitre,esclave

Bonjour,

J'aimerai connecter 2 Arduinos ensemble par le bus SPI.
-le premier Arduino est le Maître qui peut envoyer et recevoir des variables de l'esclave.
-le second Arduino est l'esclave qui peut envoyer et recevoir des variables du Maître.

Connaissez-vous un exemple de code pour ça?

Merci

Je recherche exactement la même chose :slight_smile:

en i2c ça marche facilement
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1235582397

Merci voz pour ton aide.
Mais ce code en I2C je le connaissais déjà.

Voici ce que j'ai trouver pour le bus SPI:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1264732746

Ce qui est intéressant c'est qu'avec le bus SPI on peut avoir un baud rate maximum de (clock crystal / 2).
Un baud rate de 8000000 si l'arduino a un crystal de 16MHz.

La vitesse est intéressante :o.

Combien d'appareil peuvent être branchés ensemble en SPI ?

Autant que tu veux en théorie, mais c'est un petit peu plus complexe. En effet tu n'as pas d'adressage inclu dans le protocole (comme dans l'i2c par exemple) donc tu as deux fils (clock + données) + 1 fil par esclave qui permet au maître de "l'activer". Cependant je pense que tu dois pouvoir ruser avec des arduinos en esclaves car tu peux par exemple intégrer une adresse dans le mot que tu envois qui ne sera reconnue que par le bon destinataire :wink:

Dans le genre d'un bus CAN.

Il me semble mais je connais vraiment pas très bien le CAN ^^

Chaque "appareil" du réseaux émets une trame segmentée par un sorte d'adressage le destinataire ne lira que la partie qui le concerne.

Je suis pas certain, mais il me semble qu'il n'y a pas de maitre/esclave et que la communication peut se faire en tout sens.....

Oui donc ça se ressemble pas mal en effet. Le SPI sert surtout pour beaucoup de CI en tout genre qui ne sont pas programmables, donc avec un chip select tu peux dialogué avec le CI de ton choix. Mais pour relier des CI programmable type arduino, un SPI utilisant l'idée du CAN me semble tout à fait possible et pertinent.