Ayuda puerto serial GUI
Publicado por Diego (5 intervenciones) el 08/06/2013 23:53:54
Hola a todos
Tengo un problema al enviar datos desde matlab a arduino, utilizando GUIDE.
Desde un textbox inserto comandos como "X20" por ej y necesito enviarlo de la misma manera a un arduino.
en arduino utilizo monitor serial que es como hyperterminal y no tengo problemas al ejecutar las acciones, pero ahora quiero acoplarlo con matlab creando un objeto serie que me envie estos comandos desde GUide.
por el momento he intentado pero al parecer no resulta.
en el callback de textbox donde inserto los comandos utilizo este codigo
puertoserie = serial('COM5','BaudRate',19200,'Terminator','CR/LF');
assignin('base','puertoserie',puertoserie);
fopen(puertoserie);
cadena=get(handles.edit1,'string');
assignin('base','cadena',cadena);
fprintf(puertoserie,'%s\n',cadena);
pause(0.10);
fscanf(puertoserie)
pause(0.10);
fclose(puertoserie);
delete(puertoserie);
de forma que en workspace crea el objeto serial y el objeto llamado cadena que contiene el comando, pero al intentar enviarlo solo obtengo una respuesta ("ok") que viene insertada desde el codigo de arduino.
Si me pueden ayudar agradecido, estoy recien comenzando.
muchas gracias
Tengo un problema al enviar datos desde matlab a arduino, utilizando GUIDE.
Desde un textbox inserto comandos como "X20" por ej y necesito enviarlo de la misma manera a un arduino.
en arduino utilizo monitor serial que es como hyperterminal y no tengo problemas al ejecutar las acciones, pero ahora quiero acoplarlo con matlab creando un objeto serie que me envie estos comandos desde GUide.
por el momento he intentado pero al parecer no resulta.
en el callback de textbox donde inserto los comandos utilizo este codigo
puertoserie = serial('COM5','BaudRate',19200,'Terminator','CR/LF');
assignin('base','puertoserie',puertoserie);
fopen(puertoserie);
cadena=get(handles.edit1,'string');
assignin('base','cadena',cadena);
fprintf(puertoserie,'%s\n',cadena);
pause(0.10);
fscanf(puertoserie)
pause(0.10);
fclose(puertoserie);
delete(puertoserie);
de forma que en workspace crea el objeto serial y el objeto llamado cadena que contiene el comando, pero al intentar enviarlo solo obtengo una respuesta ("ok") que viene insertada desde el codigo de arduino.
Si me pueden ayudar agradecido, estoy recien comenzando.
muchas gracias
Valora esta pregunta


0