TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: fidodido18 en 06 de Junio de 2009, 01:02:43
-
Hola a todos, les pido ayuda URGENTE para graficar en matlab lo que recibe de un PIC por RS232.
La comunicaion se da y ya recibo y envio datos, lo que no he podido hacer es graficar a medida que me va llegando los datos, sino que el programa tiene que esperar a que termine y ahi si muestra la grafica!! PORQUE pasa esto? como puedo hacer para que no suceda...
s=serial('COM1');
while(true)
fopen(s);
....recibo los datos y lo guardo en un vector
...lo paso a double
fclose(s)
plot(x,vector)
end
la grafica solo aparece cuando ocurre un error o detengo el programa. tengo que usar algun codigo diferente,
desde ya gracias!!
-
Con simulink podes hacer lo q queres. Lee este hilo:
http://www.todopic.com.ar/foros/index.php?topic=19613.msg212950#msg212950
Y por favor, no repitas la misma pregunta en distintos foros, lee las reglas.
http://www.todopic.com.ar/foros/index.php?topic=26314.0
saludos!!
-
Con simulink podes hacer lo q queres. Lee este hilo:
http://www.todopic.com.ar/foros/index.php?topic=19613.msg212950#msg212950
Y por favor, no repitas la misma pregunta en distintos foros, lee las reglas.
http://www.todopic.com.ar/foros/index.php?topic=26314.0
saludos!!
Saludos!
Gracias por responder, primero que todo mi pregunta no la responden en ese foro, y gracias a Dios encontre la solucion. Tal vez no planteé bien mi pregunta, la replanteo y me respondo.
Quiero graficar punto por punto en MATLAB lo que va llegando por el puerto serial, sin almacenar los datos en un BUFER (como lo hacen en el foro que me recomiendan), y mi error era que tenia que hacer un retardo de por lo menos 0.01 segundos despues de mandar el comando plot(x,y)
Por tal razon si quieren graficar lo que van recibiendo por el puerto serial sin alamacenar un BUFER, es capturando, convirtiendo string a numero, graficar, PAUSE(0.01) y luego que repita el ciclo.
De todas formas gracias por responder,
Si alguien quiere ver el codigo del pic y de matlab lo dicen por aca...
-
Me alegro q hayas resuelto tu problema. Te cuento q yo tenia el mismo problema hace unas semanas y lo resolvi usando simulink como mencionan en el hilo q te dije.
De todos modos estaria bueno q pongas el codigo q usaste :)
saludos!
-
hola amigo gera he visto que has podido solucionar este tema de graficar datos del pic con matlab, pues resulta que yo he graficado datos en java y visual basic me gustaria si saber si ayudarias a graficar datos en matlab desde el pic... gracias de antemano
-
Con simulink podes hacer lo q queres. Lee este hilo:
http://www.todopic.com.ar/foros/index.php?topic=19613.msg212950#msg212950
Y por favor, no repitas la misma pregunta en distintos foros, lee las reglas.
http://www.todopic.com.ar/foros/index.php?topic=26314.0
saludos!!
Saludos!
Gracias por responder, primero que todo mi pregunta no la responden en ese foro, y gracias a Dios encontre la solucion. Tal vez no planteé bien mi pregunta, la replanteo y me respondo.
Quiero graficar punto por punto en MATLAB lo que va llegando por el puerto serial, sin almacenar los datos en un BUFER (como lo hacen en el foro que me recomiendan), y mi error era que tenia que hacer un retardo de por lo menos 0.01 segundos despues de mandar el comando plot(x,y)
Por tal razon si quieren graficar lo que van recibiendo por el puerto serial sin alamacenar un BUFER, es capturando, convirtiendo string a numero, graficar, PAUSE(0.01) y luego que repita el ciclo.
De todas formas gracias por responder,
Si alguien quiere ver el codigo del pic y de matlab lo dicen por aca...
Me interesa mucho ver el codigo del pic y matlab, estoy en mi proyecto de electronica en la universidad. Te agradeceria
mucho si puedes contestar.. Saludos, cuidese y de antemano .. Gracias!!!
-
hola amigos soy estudiante de electronica mi problema es que estoy mandando datos de un pic a matlab para que me los grafique, ya puedo mandar la cadena de datos sin embargo esa cadena va con numeros y letras mi pregunta es como me quito esas letras para poder almacenas los numeros en un vector y despues graficarlos
ejemplo
voltaje=0.04882v adc= 10 aqui estoy mandando los datos via rs232 pero como me quito eso del voltaje y adc y el = de tal manera de que me quede solo por ejemplo en un vector x[10 ......] y un vecto y [ 0.04888....] y despues graficarlos estos 2 vectores