bonjour,
j'ai un problème avec Sérial. j'envoie 300 octet mais seulement 150 sont affichés.
Connaissez-vous la solution
Merci
#include <SoftwareSerial.h>
//
SoftwareSerial BTSerial(2, 3); // RX | TX
// RX arduino <--- TX cible
// TX arduino ---> RX cible
byte rec;
void setup()
{
Serial.begin(38400); // vitesse serial monitor
BTSerial.begin(38400); // vitesse software serial
}
void loop()
{
if (BTSerial.available())
rec = BTSerial.read();
if (rec < 16) Serial.print("0");
Serial.print(rec, HEX);
if (Serial.available())
BTSerial.write(Serial.read());
}
il manque des accolades sur le 1er test
test avec ça
#include <SoftwareSerial.h>
//
SoftwareSerial BTSerial(2, 3); // RX | TX
// RX arduino <--- TX cible
// TX arduino ---> RX cible
byte rec;
void setup()
{
Serial.begin(38400); // vitesse serial monitor
BTSerial.begin(38400); // vitesse software serial
}
void loop()
{
if (BTSerial.available()) {
rec = BTSerial.read();
if (rec < 16) Serial.print("0");
Serial.print(rec, HEX);
}
if (Serial.available())
BTSerial.write(Serial.read());
}
Cela ne répare pas le problème 
Bonsoir,
Après de nombreux essais, j'ai constaté que c'est en remplissant un tableau de char à la réception (avec softwareSerial) que j'obtiens le moins de perte.
Puis après tu as tout le temps de traîter ce tableau: renvoi, concatener en chaîne, parser...etc
Il faut aussi augmenter la limite du buffer dans la librairie "softwareSerial.h" (128 par exemple)
#define _SS_MAX_RX_BUFF 128 //RX buffer defaut 64
mais surtout, en effet comme le montre "pepe" , d'abord passer à 9600 bds
Avec ces paramètres, 300 caractères c'est possible.