Sending and receiving data continuously between matlab and arduino

Hello,

I have an application that requires sending a signal from arduino to matlab GUI whenever a button being pressed on the arduino. The signal then trigger a camera on the matlab and start processing. Then by the end of process it sends back a signal from matlab GUI to arduino to trigger a LED. This process should be repeated everytime the button press. However the matlab gui need to be run everytime that i send signal from arduino to matlab. So how can I run the script everytime that press button?

Matlab code:

%Define 'Serial' as arduino port
Serial = serial('/dev/tty.wchusbserial1410');  
% set the baudrate of the signal
set(Serial,'BaudRate',9600);
set(Serial,'Timeout',20);
%Open Serial Port
fopen(Serial);
pause (0.1);
data = char(fread(Serial,1,'schar'))
switch (data)
%Define 'Serial' as arduino port
Serial = serial('/dev/tty.wchusbserial1410');  
% set the baudrate of the signal
set(Serial,'BaudRate',9600);
set(Serial,'Timeout',20);
%Open Serial Port
fopen(Serial);
pause (0.1);
data = char(fread(Serial,1,'schar'))
switch (data)
       case '0'
       set(handles.G,'Value',0,'Enable','On');
       case '1'
  %      pause(2);
          vid1 = videoinput('macvideo', 1,'YCbCr422_1280x720');
          vid2 = videoinput('macvideo', 2, 'ARGB32_1280x960');
    Rest of process .....
        if num1+num2 >=1
        fwrite (Serial, 1)
        end
end

Arduino Code:

void skipped()
{
  if (Serial.available ()>0)
  {
    matlabData=Serial.read();
    if (matlabData == 1 )
 digitalWrite (led3, HIGH);
    }
  }

Rewrite the MATLAB script so that it keeps running.

Your Matlab program needs to run continuously listening for data from the Arduino.

...R

You need to take a look at that MatLbab program, and explain why you think you need to define and open the serial port, resetting the Arduino, every time you expect to interact with the serial port.