15-06-2024, 12:37 PM
Et j'ai en retour une question pour vous sur votre code :
La liaison série est par définition asynchrone, et ici à 9600 bauds, soit un caractère toutes les ms environ.
La lecture MySerial.read() doit être ultra-rapide vu la vitesse du processeur, et donc on n'est pas sûr qu'un nouveau caractère soit arrivé entre temps lorsqu'on repasse dans la boucle suivante.
int a = 0;
while (MySerial.available()) {
Lecture333[a] = MySerial.read();
a++;
}
il serait plus sécurisant (et sécurisé) d'envoyer une requête en lecture, d'armer un timer, puis de venir scruter chaque ms (depuis la boucle principale comme c'est fait pour le Linky) si un caractère est arrivé, le lire et le stocker tant que le timer n'est pas épuisé, et qu'on n'a pas reçu le bon nombre de data.
Qu'en pensez-vous @piamp ?
cdlt,
Ph
La liaison série est par définition asynchrone, et ici à 9600 bauds, soit un caractère toutes les ms environ.
La lecture MySerial.read() doit être ultra-rapide vu la vitesse du processeur, et donc on n'est pas sûr qu'un nouveau caractère soit arrivé entre temps lorsqu'on repasse dans la boucle suivante.
int a = 0;
while (MySerial.available()) {
Lecture333[a] = MySerial.read();
a++;
}
il serait plus sécurisant (et sécurisé) d'envoyer une requête en lecture, d'armer un timer, puis de venir scruter chaque ms (depuis la boucle principale comme c'est fait pour le Linky) si un caractère est arrivé, le lire et le stocker tant que le timer n'est pas épuisé, et qu'on n'a pas reçu le bon nombre de data.
Qu'en pensez-vous @piamp ?
cdlt,
Ph
V14.25 modifiée. 1 serveur UxIx3, 1 Linky de référence, 1 client Triac CE tampon + 1 client SSR CE tampon + 1 client SSR sur CE tri + 3 clients SSR sur 3 radiateurs bain d'huile d'appoint. Variateurs de fréquence Piscine.
8 panneaux (3 SE 2 S, 3 SO ) 425Wc sur 4 HM800 produisent 20kWh par jour au 16 Mars.
8 panneaux (3 SE 2 S, 3 SO ) 425Wc sur 4 HM800 produisent 20kWh par jour au 16 Mars.