Outils pour utilisateurs

Outils du site


robotics:computing:communication_spi_atmega

Différences

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

robotics:computing:communication_spi_atmega [2012/03/08 16:42]
ldo [Initialisation Master]
robotics:computing:communication_spi_atmega [2012/09/20 10:52] (Version actuelle)
Ligne 10: Ligne 10:
 L'​esclave désigné peut envoyer des messages seulement si le maitre génère le signal d'​horloge (il ne peut pas le générer lui-même). L'​esclave désigné peut envoyer des messages seulement si le maitre génère le signal d'​horloge (il ne peut pas le générer lui-même).
  
-===== mode esclave =====+===== Mode esclave =====
 SS/ est configuré en entrée. La communication n'est active que si SS/ passe à 0. SS/ est configuré en entrée. La communication n'est active que si SS/ passe à 0.
  
-===== mode maitre =====+===== Mode maitre =====
 SS/ est configuré en sortie. c'est lui qui initialise les communications en choisissant l’esclave avec qui il veut échanger. SS/ est configuré en sortie. c'est lui qui initialise les communications en choisissant l’esclave avec qui il veut échanger.
  
Ligne 43: Ligne 43:
   * active les interruptions globales (mettre à 1 bit I de SREG)   * active les interruptions globales (mettre à 1 bit I de SREG)
  
 +===== Exemple Master =====
 +Le master envoie le caractère 0xAA.
 <code c> <code c>
 /* /*
Ligne 67: Ligne 69:
  SPDR = data; /* start transmission */  SPDR = data; /* start transmission */
  while (!(SPSR & (1<<​SPIF)));​ /​* wait transmission end */  while (!(SPSR & (1<<​SPIF)));​ /​* wait transmission end */
-return SPDR;+ return SPDR;
 } }
  
 int main (void) int main (void)
 { {
- 
- PORTD = 0x00; 
- 
  SPI_MasterInit();​  SPI_MasterInit();​
  
Ligne 84: Ligne 83:
  return 1;  return 1;
 } }
 +</​code>​
robotics/computing/communication_spi_atmega.1331221347.txt.gz · Dernière modification: 2012/09/20 10:52 (modification externe)