
matlab gui -Arduino interrupcion
Publicado por Steph (2 intervenciones) el 06/09/2013 00:04:42
Hola, estoy desarrollando un proyecto serial entre Matlab Gui -Arduino;en el que tengo que chekear constantemente el estado de las entradas digitales provenientes de Arduino, es decir si una de estas entradas se coloca en 1 (high) en Matlab Gui me debe aparecer una ventana de error hasta que la entrada vuelva a 0 (low) como lo hago?
Yo activo la comunicación serial con un pushbutton y estoy colocando ahi el while para verificar el estado.. no se como hacerlo... lei de break..pero sigue sin funcionar..
function EJECUTAR_Callback(hObject, eventdata, handles)
% hObject handle to EJECUTAR (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(instrfind({'Port'},{'COM3'}))
global c fec psc fem aam i
%%COMUNICACION ARDUINO UNO
c=arduino('COM3');
%ENTRADAS (SENSORES)
%Sensores de fin de carrera:
%FEC
c.pinMode(7,'input');
%led de comprobacion de comunicacion
c.pinMode(8,'output');
%SALIDAS
%Led de activación para cualquiera de los sensores
c.pinMode(12,'output');
c.digitalWrite(12,0);
handles.c=c;
while(true)
c.digitalWrite(8,1); %led de comunicacion
fec=c.digitalRead(7);
if (fec==1)
c.digitalWrite(12,fec); %enciende ledpin13 de aviso de sensor
Popup_6; %mensaje de error
break;
end
end
Yo activo la comunicación serial con un pushbutton y estoy colocando ahi el while para verificar el estado.. no se como hacerlo... lei de break..pero sigue sin funcionar..
function EJECUTAR_Callback(hObject, eventdata, handles)
% hObject handle to EJECUTAR (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(instrfind({'Port'},{'COM3'}))
global c fec psc fem aam i
%%COMUNICACION ARDUINO UNO
c=arduino('COM3');
%ENTRADAS (SENSORES)
%Sensores de fin de carrera:
%FEC
c.pinMode(7,'input');
%led de comprobacion de comunicacion
c.pinMode(8,'output');
%SALIDAS
%Led de activación para cualquiera de los sensores
c.pinMode(12,'output');
c.digitalWrite(12,0);
handles.c=c;
while(true)
c.digitalWrite(8,1); %led de comunicacion
fec=c.digitalRead(7);
if (fec==1)
c.digitalWrite(12,fec); %enciende ledpin13 de aviso de sensor
Popup_6; %mensaje de error
break;
end
end
Valora esta pregunta


0