Autor Tema: comunicacion rs232 matlab y pic  (Leído 8132 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Axel_18

  • PIC16
  • ***
  • Mensajes: 152
comunicacion rs232 matlab y pic
« en: 31 de Enero de 2011, 21:04:26 »
hola a todos

intento comunicar mi pic con matlab pero la verdad es que no se mucho de matlab  :-/

mi idea es gráficar una señal cualquiera respecto al tiempo, donde los datos los enviara el pic al PC

Alguien me puede ayudar con el código, digo, algún ejemplo que me puedan facilitar?

gracias a todos :)

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: comunicacion rs232 matlab y pic
« Respuesta #1 en: 31 de Enero de 2011, 22:43:43 »
creo que en el foro hay algo sobre el tema, es cuestion de usar el buscador, tambien hay una web que te puede servir es  matpic
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado Axel_18

  • PIC16
  • ***
  • Mensajes: 152
Re: comunicacion rs232 matlab y pic
« Respuesta #2 en: 03 de Febrero de 2011, 20:44:59 »
gracias por responder, me sirvio mucho.
ahora envio datos por rs232 desde el pic a matlab.
mi duda ahora es como lo hago para enviar un numero float, es decir un numero con decimales

en el pic, que lo programo en CCS defino la variable a enviar como

float dato
dato=2.034

la recibo en matlab como
fscanf(PIC,%e,14)

al igual que un ejemplo que parace en en matlab

mi problema es que me dice que ocurre una incompatibilidad de dimenciones

es posible hacer esto?
o debo pasar el numero que deseo enviar a ASCII es decir cada digito a su correspondiente ASCII y luego decodificar los datos enviados??

un saludo

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: comunicacion rs232 matlab y pic
« Respuesta #3 en: 03 de Febrero de 2011, 21:26:22 »
encontré esto que seguro te sirve
Código: [Seleccionar]
http://www.mathworks.com/help/techdoc/ref/serial.fscanf.html
Código: [Seleccionar]
http://www.mathworks.com/help/techdoc/ref/sscanf.htmlpor favor comenta tus resultados ya que tambien voy a empezar a hacer pruebas con este programa y tambien me enfrentaré a la misma situacion
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado PCCM

  • PIC16
  • ***
  • Mensajes: 109
Re: comunicacion rs232 matlab y pic
« Respuesta #4 en: 05 de Febrero de 2011, 07:10:18 »
Puedes multiplicar tu decimal por ejemplo 2.034 por 1000 =2034 y enviarlo a matlab y en matlab lo divides entre 1000 y listo.

En lo poco que he intentado no pude enviar un float, asi que opte por esa opcion.
suerte.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: comunicacion rs232 matlab y pic
« Respuesta #5 en: 05 de Febrero de 2011, 10:47:31 »
la opcion de multiplicarlo es muy valida, pero debe poderse enviar como un float obviamente formateado en ascii desde el pic, en ultimas son puros numeros y matlab hace la tarea muy facil al pasar el ascii a un numero float
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado Axel_18

  • PIC16
  • ***
  • Mensajes: 152
Re: comunicacion rs232 matlab y pic
« Respuesta #6 en: 05 de Febrero de 2011, 22:21:50 »
chicos

solucione el problema con otro enfoque

lo que hice fue obtener un valor float, por ejemplo 3.434

Luego con el pic separo cada elemento y lo guardo en un vectoro, osea:

dato[0]=3+'0'
dato[1]=4+'0'
dato[2]=3+'0'
dato[4]=4+'0'

El cero es un cero es ASCII por lo que paso inmediatamente el dato a ascII sin afectar el valor numerico.

En matlab lo leo y lo guardo en una variable.

Identifico el numero en matlab utilizando la funcion sscanf la que me arroga el numero, a utilizar, osea me entrega 3434.
Por ultimo lo divido en 1000 y listo.

quiza mas adelante suba el codigo


salduos

Desconectado agauss

  • PIC16
  • ***
  • Mensajes: 147
Re: comunicacion rs232 matlab y pic
« Respuesta #7 en: 14 de Marzo de 2011, 01:24:38 »
Parece interesante pero... seguro esto hace lento el proceso y para ciertas aplicaciones tal vez no sea la mejor opcion, eso de trabajar con flotantes es complejo para micros que no tiene el hardware necesario. Aun asi la solucion es ingeniosa, si pudieras comentar un poco mas sobre el algoritmo y subir el codigo seria genial.

saludos...
No es el conocimiento, sino el acto de aprendizaje, y no la posesión, sino el acto de llegar allí, que concede el mayor disfrute.
"Carl Friedrich Gauss"

El tacto es el arte de hacer un punto sin hacer un enemigo.
"Isaac Newton"