a comunicación en serie entre Arduino y Matlab está perdiendo dato

Ahora estoy tratando de establecer la comunicación en serie entre Arduino y Matlab. El guión es muy simple:

Matlab envía un número llamadoi a Arduino;

Arduino recibe estei, luego envíelo de regreso a Matlab;

Repita los pasos 1 y 2 10 veces, es decir, Matlab envía 1,2, ..., 10 a Arduino, luego recibe el 1,2, ..., 10 de Arduino. Sin embargo, Matlab solo obtiene 3,4, ..., 10, mientras que los primeros i = 1 e i = 2 se pierden (ya hice el inputbuffersize = 200 ahora, todavía no está bien).

Aquí está el código de Matlab:

clc,clear;
s=serial('COM16','BaudRate',9600); 
s.InputBufferSize = 200;    
fopen(s);
a=10;
rx = zeros(1, a); % rx is used to store the data send back by Arduino
ry = zeros(1, a); % ry is just helping me to see what happens in Serial
for i = 1:1:a
  fwrite(s, i); % Start to write the value "i" through serial to Arduino
  pause(0.5) % if no pause, the result is worse than now
  ry(i) = s.BytesAvailable; % check how many data are there in the Buffer
  if s.BytesAvailable>0
      rx(i) = fread(s, s.BytesAvailable); % Record the data send by Arduino
  end
end
fclose(s);

Y el Código Arduino:

char ibyte;
void setup()
{
  Serial.begin(9600);
}

void loop()
{
  if(Serial.available()>0)
  {
    ibyte=Serial.read();
    Serial.write(ibyte);
  }
}

Mi enlace de referencia es:http: //robocv.blogspot.com/2012/01/serial-communication-between-arduino.htm

Respuestas a la pregunta(2)

Su respuesta a la pregunta