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

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

Modifié pour la derniére fois le

Description :

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

Code source :

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

/**
 * Exemple de code pour la bibliothèque Mirf – Client d'envoi de texte
 */
#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
 
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 = 32; // 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() {
  byte message[32];
  
  // Lit un message de maximum 32 caractères depuis le port série
  int len = Serial.readBytesUntil('\n', (char*) message, 31);
  if (!len) {
    return; // Pas de message
  }
  message[len] = '\0'; // Ferme la chaine de caractères
  
  Mirf.send(message); // On envoi le message
  while(Mirf.isSending()); // On attend la fin de l'envoi
}