TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: adrianrs86 en 12 de Febrero de 2009, 02:17:46
-
Hola foro, tengo un problemita el cual espero que me ayuden a resolver.
Estoy enviando datos desde labview al dspic (30f4013), pero los datos que necesito enviar son decimales o numeros de mas de un caracter y el problema es que no se que funcion necesito para que el dspic me recepcione estos en un string, yo habia pensado en usar gets(), pero la verdad no se como jejeje. Desde ya muchas gracias y espero que me ayuden.
Saludos
-
Si tienes incluida la librería <stdio.h> puedes utilizar el comando scanf.
-
Hola Nocturno gracias por la respuesta, me podrias indicar como es la sintaxis para utilizar scanf, porque yo estaba pensando en hacer esto:
char dato[];
dato=scanf(U1RXREG);
pero me saca error :)
-
http://es.wikipedia.org/wiki/Scanf
-
Hola, tambien los puedes enviar en formato entero y luego lo pasas a flotante en el dspic. Por ejm si quieres enviar numeros de -99.9 a 99.9 con un un punto decimal entonces en el lavbiew lo multiplicas por 10 entonces tendrás numeros de -999 a 999 este entero de 16 bits lo envias al dspic en dos bytes primero el byte bajo y luego el byte alto, el dspic los recibe y los coloca en la posicion de un entero, y luego divides este entero entre 10 y tendrás el numero flotante otra ves.
La ventaja de esto es que casi no toma tiempo comparado con las otras funciones de la libreria stdio.
-
Hola a todos, muchas gracias por su atencion, ya solucione mi problemita. La recepcion de datos la hago por interrupcion, y pues como les dije los numeros que recibo son de varios digitos, entonces lo que hice fue declarar un vector con un puntero y cada vez que entrara a la interrupcion aumento las posiciones del vector con el puntero, y para saber que la recepcion termina mando un / y listo, y me funciona de maravilaa. Muchas gracias a todos