Communication Arduino Raspberry

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 :astonished: )

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);
       }
}