Exemple de code pour la bibliothèque Mirf – Client d'envoi de structure

par skywodd | | Langue : C++ | Licence : GPLv3

Description :

Exemple de code pour la bibliothèque Mirf – Client d'envoi de structure

Code source :

Voir le code source brut | Télécharger mirf_struct_client.ino | Télécharger mirf_struct_client.ino.zip

/**
 * Exemple de code pour la bibliothèque Mirf – Client d'envoi de structure
 */
#include <SPI.h>      // Pour la communication via le port SPI
#include <Mirf.h>     // Pour la gestion de la communication
#include <nRF24L01.h> // Pour les définitions des registres du nRF24L01
#include <MirfHardwareSpiDriver.h> // Pour la communication SPI
 
typedef struct {
  char commande;
  int valeur;
} MaStructure;
 
void setup() {
  Serial.begin(9600);
   
  Mirf.cePin = 9; // Broche CE sur D9
  Mirf.csnPin = 10; // Broche CSN sur D10
  Mirf.spi = &MirfHardwareSpi; // On veut utiliser le port SPI hardware
  Mirf.init(); // Initialise la bibliothèque

  Mirf.channel = 1; // Choix du canal de communication (128 canaux disponibles, de 0 à 127)
  Mirf.payload = sizeof(MaStructure); // Taille d'un message (maximum 32 octets)
  Mirf.config(); // Sauvegarde la configuration dans le module radio

  Mirf.setTADDR((byte *) "nrf02"); // Adresse de transmission
  Mirf.setRADDR((byte *) "nrf01"); // Adresse de réception
   
  Serial.println("Go !"); 
}
 
void loop() {
  MaStructure message;
  
  // Lit un nombre depuis le port série
  while(!Serial.available()); // Attend un caractère
  message.commande = Serial.read();
  message.valeur = Serial.parseInt();
  
  Mirf.send((byte*) &message); // On envoi le message
  while(Mirf.isSending()); // On attend la fin de l'envoi
}