Appearance
Version 1.1.20-alpha
INFO
Version similaire à la 1.1.19-alpha
Note
Tentative de détection des début et fin de trame
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("[");
Serial.print(TamponPos);
Serial.print("]");
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("]");
}
digitalWrite(led, HIGH);
}