merci de vos réponses je comprends mieux alors j'ai mi que 64 caracteres et effectivement c'est "non bloquant"

j'ai fait un essai d' envoie de caracteres avec le code suivant, mais je reçoit pas les caractere attendu.
je ne connais pas quels sont les bits de start et stop.
est il possible de modifier ce code pour qu il fonctionne ?
quel element de l'ordi gere la reception des données ? comment l’exactitude du rythme est garanti ?
je n'arrive pas a trouver ça dans le fichier RTFC. hardware\arduino\cores\arduino\HardwareSerial.cpp
que signifie rtfc ?
Quel ide utiliser ? j'utilise celui Arduino mais pour eviter d avoir a charger le code dans la carte Arduino a chaque fois pour voir si ça marche ou non ?
const char mot[8] = { 'a' , 'b', 'c', 'd', 'e', 'f', 'g', '\0' };
const int taille = sizeof(mot);
const int tx = 1;
const int ml = 21; // 1 bit tout les 21 microseconds pour afficher "absdefg" dans le moniteur reglé a 4800 baud
unsigned long curr = 0;
int posc = 0, mask = 1;
void suite (){
if( curr < micros() ){
next();
curr += ml;
}
}
void next(){
if(mask == 256){
digitalWrite( tx, 1); // bit de fin
}else if(mask < 256 && mask > 0){
digitalWrite( tx, (mot[posc] & mask) == mask ); // caractere
}else{
digitalWrite( tx, 0); // bit d'intro
posc = ( posc + 1 ) % taille; // caractere suivant
mask = 512;
}
mask /= 2;
}
void setup() {
pinMode(tx, OUTPUT);
}
void loop() {
suite();
}