j'ai lu le tuto il est très intérressent cependant il traite que du coté arduino. Moi je reçois bien sur l'arduino, c'est la réponse de l'arduino que je ne parviens pas a lire convenablement sur la raspberry ( soit je recois la réponse en entier soit je ne lis que la moitié ... et des fois je ne lis rien du tout )
Mon problème se situe au niveau de la reception je crois ( en C pr l' uart ):
int rx_length = read (fd, (void*)rx_buffer, 255).
Quand j'ouvre le port /dev/ttyACM0 sans le mode O_NDELAY=> le programme reste la à attendre des donnée et n'en sort pas.
Quand j'ouvre le port en mode O_NDELAY il sort immédiatemment et rx_lenght < 0
voici le code pr plus de précision
int fd = -1;
fd = open("/dev/ttyACM0", O_RDWR | O_NOCTTY);
if (fd != -1){
// Read up to 255 characters from the port if they are there
unsigned char rx_buffer[256];
int rx_length = read(fd, (void*)rx_buffer, 255);
if (rx_length < 0){
//An error occured
printf("UART RX error\n");
}
else if (rx_length == 0){
//No data waiting
}
else
{
//Bytes received
rx_buffer[rx_length] = '\0';
printf("%i bytes read : %s\n", rx_length, rx_buffer);
}
}