Matlab - Ayuda puerto serial GUI

   
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda puerto serial GUI

Publicado por Diego (5 intervenciones) el 12/06/2013 22:21:12
El problema que tenia era el fprintf que reemplaze por Fwrite, lo habia probado antes pero el Fscanf no me arrojaba valor por haberlo tenido mal puesto.
un error simple que puede pasarle a cualquiera.

Gracias por nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda puerto serial GUI

Publicado por Fernando cristian.acosta@live.com (1 intervención) el 17/04/2014 22:44:31
Buenas tardes señores

He intentado de muchas maneras enviar una constante de tipo byte (en realidad simplemente necesito enviar constantes numericas desde matlab a arduino) pero no lo he logrado, intente cambiado el código en matlab del primer comentario (claro con el arreglo "fwrite") y aún no lo he logrado, agradezco de ante mano toda su ayuda! (Y)

Básicamente matlab me dice que hay un error en el uso de fopen. Me pregunto si necesito alguna libreria, o algo por el estilo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda puerto serial GUI

Publicado por Yunier (3 intervenciones) el 01/02/2017 15:07:52
Hola, yo tengo un problema igual, solo que no me ha funcionado, si pudieras la forma enque recibes el dato en arduino te agrdecería.Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda puerto serial GUI

Publicado por Yunier yunier.prieur@cbiomed.cu (3 intervenciones) el 17/05/2017 21:50:26
Hola, prueba este código,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
PS=serial('COM3');
set(PS,'Baudrate',9600); % se configura la velocidad a 9600 Baudios
set(PS,'StopBits',1); % se configura bit de parada a uno
set(PS,'DataBits',8); % se configura que el dato es de 8 bits, debe estar entre 5 y 8
set(PS,'Parity','none'); % se configura sin paridad
set(PS,'Terminator','CR/LF');% “c” caracter con que finaliza el envío 
set(PS,'OutputBufferSize',8); % ”n” es el número de bytes a enviar
set(PS,'InputBufferSize' ,2); % ”n” es el número de bytes a recibir
set(PS,'Timeout',5); % 5 segundos de tiempo de espera
fopen(PS);
b =1;    % dato que se quiere enviar
pause(0.8)
fwrite(PS,a,'int8');
fclose(PS);
delete(PS);
clear PS;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar