Skip to content

Version 1.1.19-alpha

Note

Relocalisation et amélioration du code pour récupérer les données dans le void serialEvent3()

Augmentation du tampon à 255

Code

c++
#define led 2


// Buffer (index 0)
char tampon[255];

char incomingByte;


// setup
void setup() {
  configset();
}

// loop
void loop() {
  digitalWrite(led, LOW);
}

// Détection d'une trame
void serialEvent3() {

  for (int i = 0; i < Serial3.available(); i++)

    // Enregistrer la trame + écrasser l'ancienne (tampon)
    if (Serial3.available() > 0) {
      incomingByte = Serial3.read();
      tampon[i] = incomingByte;

      // afficher logs
      logsPC(incomingByte, i);
    }
  Serial.println("En attente...");
}


// Configuration
void configset() {
  // PC
  Serial.begin(9600);
  Serial.print(".");


  // HMI
  Serial3.begin(9600);
  Serial.print(".");


  pinMode(led, OUTPUT);
  Serial.print(".");


  // Fin chargement (ne pas supprimer)
  delay(200);
  Serial.println("Fin");

  Serial.println("En attente...");
}










// Logs
void logsPC(char hexdata, int TamponPos) {
  // Serial.println(hexdata);
  Serial.print("[HEX: ");
  Serial.print(hexdata, HEX);
  Serial.print("] [ASCII : ");
  Serial.print(hexdata);
  Serial.print("] [");


  // Check début
  // Détection précise
  // (0x53 = S) (0x54 = T) (0x3C = <)
  if (hexdata == 0x53 || hexdata == 0x54 || hexdata == 0x3C) {
    Serial.println("DEBUT]");
  }
  if (hexdata == 0x00) {
    Serial.println("N/A]");  // Si 0x00
  } else {
    Serial.println("]");
  }

  Serial.print("[");
  Serial.print(TamponPos);
  Serial.print("]");


  digitalWrite(led, HIGH);
}

Documentation/code du Projet B.R.A.S présent sur ce site sous license CC BY 4.0. (pour en savoir plus rdv dans la section LICENSE)