Autor Tema: Imprimir por pantalla  (Leído 5547 veces)

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

Desconectado argolab

  • PIC10
  • *
  • Mensajes: 6
Imprimir por pantalla
« en: 13 de Junio de 2017, 08:44:57 »
Hola,

Estoy programando en C un PIC 18F45K20 con MPLAB y compilador C18.
La cuestión es que estoy estableciendo una comunicación con otro módulo y necesito saber lo que voy enviando, por eso necesitaría usar la funcion printf() para poder ver que almacenan las variables cuando me interese.
El caso es que quiero ver las impresiones en el ordenador sin necesidad de manejar un LCD. Pero no se muy bien como hacerlo, yo importo la libreria #include<stdio.h> y también agrego el archivo printf.c en los Source Files. El programa compila correctamente pero no se donde puedo visualizar las impresiones.

Alguien sabría como hacerlo??

Un saludo.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Imprimir por pantalla
« Respuesta #1 en: 13 de Junio de 2017, 13:54:01 »
No entiendo que queres hacer...

¿ Queres sacar datos por la UART, que estas se conviertan a RS232 y lleguen a la PC?

No uses printf, usa una funcion que envie caracter a caracter a la PC ( crea tu propio printf )

Desconectado argolab

  • PIC10
  • *
  • Mensajes: 6
Re:Imprimir por pantalla
« Respuesta #2 en: 13 de Junio de 2017, 14:52:09 »
Yo lo que estoy haciendo es usar el SPI para enviar comandos de configuración a otra tarjeta, el caso es que estoy haciendo el envío de una trama que consta de varios bytes (los cuales tengo almacenados en un array) y conecté el pic a un analizador lógico y resulta que me envía el primer byte y luego otra vez el primer byte y así todo el rato. El caso es que el analizador lógico esta en la universidad y tengo que ir allí cada vez que modifico el código para ver si ya me funciona bien. Entonces había pensado eso para poder hacerlo en casa, como en el monitor serie de arduino, yo cada vez que quiero ver algo imprimo esa variable con serial.print y voy viendo que pasa en el monitor serie.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Imprimir por pantalla
« Respuesta #3 en: 13 de Junio de 2017, 16:20:55 »
Si se puede lograr, pero eso quiere decir que tendrias que poner todo lo referente al USB o usar RS232 para comunicarte con la PC. No se si existe ya un codigo preparado para dejartelo asi tan facil.

Pero pasa el programa donde tenes problemas de que te envia siempre el mismo dato y vemos que estas haciendo mal.
« Última modificación: 13 de Junio de 2017, 16:27:35 por KILLERJC »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Imprimir por pantalla
« Respuesta #4 en: 13 de Junio de 2017, 18:42:23 »
.

Haz un Debug y podrás ver cualquier variable. Puedes crear un array para que guarde los comandos que vayas enviado, lo alimentas en un bucle, y metes un breakpoint condicionado por un IF para parar el programa y ver el contenido del array.

No se como gestiona Arduino ese monitor, puede que lo haga como ST con los STM32 que permite visualizar en tiempo real cualquier variable a través de los propios puertos que se utilizan para programar y hacer Debug.

Otra opción es que te crees un puerto serie en el PIC, si es que ese PIC tiene UART, y envíes los datos en tiempo real al PC con un cable convertidor de niveles, allí lo puedes ver todo en el hiperterminal, o te puedes crear un sketch con Processing para verlo en modo gráfico.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Imprimir por pantalla
« Respuesta #6 en: 14 de Junio de 2017, 03:41:16 »
1€  :shock: :shock: :shock: :shock: Y yo con mi colección de cables FTDI a 20€ por pieza  :( :( :( :(
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado argolab

  • PIC10
  • *
  • Mensajes: 6
Re:Imprimir por pantalla
« Respuesta #7 en: 14 de Junio de 2017, 11:53:32 »
Necesitas un conversor de TTL a USB:

http://www.ebay.es/itm/CH340-USB-to-Serial-USB-to-TTL-with-STC-Microcontroller-Download-Module-/381611309467?hash=item58d9ce799b:g:lzMAAOSw3mpXHYOY



Saludos.

Lo tengo...lo compre hace unos meses para un proyecto que estaba haciendo en Arduino... el caso es que finalmente no necesité usarlo, es decir, no se como usarlo, en Arduino me imagino que tendrás una librería que te resuelve la vida...xd pero ahora estopy centrado en lo que quiero resolver y no se si me conviene complicarme la vida manejando más cosas...
Lo del envío del primer byte solucionado... problema de punteros...xd
Aun así estaría muy bien poder actuar como con el monitor serie de arduino, seguro que voy a tener más problemas como este...
Por otro lado intento hacer Debugger pero se queda pillado en un archivo .c de una de las librerías que uso creo recordar que en uno que contiene una función de la librería SPI... simulo paso a paso y comienza a abrirme todos los archivos .c de las funciones de las librerías y como te comento en uno se queda pillado esperando a que un flag se ponga a 0... incluso lo pongo a 0 por SW y sigue igual... sin embargo el programa (lo que tengo hasta ahora si que va)... La solución que encontré hasta ahora es volcar el byte en LATD y visualizarlo con 8 LEDs... un poco rudimentario...xd pero por lo menos veo lo que envío.
No obstante si que estaría bien poder hacer Debugg

Gracias a todos...

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Imprimir por pantalla
« Respuesta #8 en: 15 de Junio de 2017, 06:36:21 »
Utiliza este terminal:

http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm

El bootloader no está adaptado a tu micro, pero puedes utilizarlo como terminal sin más.

Yo he adaptado el bootloader a varios micros y funciona genial.

Saludos.

Desconectado argolab

  • PIC10
  • *
  • Mensajes: 6
Re:Imprimir por pantalla
« Respuesta #9 en: 15 de Junio de 2017, 08:23:41 »
Utiliza este terminal:

http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm

El bootloader no está adaptado a tu micro, pero puedes utilizarlo como terminal sin más.

Yo he adaptado el bootloader a varios micros y funciona genial.

Saludos.



Pero entonces... tal como lo he entendido el la página, esto sustituye al firmware original que esta cargado ahora el el PIC no?
Una vez cargado este nuevo firmware puedo seguir usando el IDE MPLAB y el compilador C18? Se puede regresar a la version original? Es que el PIC no es mio... Hay que modificar el firmware del programador? estoy usando PICkit-3...

Lo siento por el bombardeo de preguntas.. pero no la quiero liar...xd

Gracias.

Saludos.

Desconectado argolab

  • PIC10
  • *
  • Mensajes: 6
Re:Imprimir por pantalla
« Respuesta #10 en: 15 de Junio de 2017, 09:18:45 »
Otra posible solución que se me ocurre es volcar por SPI los datos a un LCD para ver en todo momento lo que envío... me interesa que se vuelque todo por SPI para ver que transmito por el MSSP.
La duda viene ahora... dispongo de un LCD de 16x2 y dispongo de un integrado que es un registro de desplazamiento, el 74HC595N. Veis factible hacer esto o se me va a complicar?? porque estuve mirando el manual del compilador C18 y te proporciona una librería <xlcd.h> para manejar el lcd pero usando la usart. Entoces la idea sería volcar los datos por SPI en el 74HC595N y transmitirlo en paralelo al LCD...

No se si alguien ha hecho algo parecido y sabe el nivel de dificultad que puede tener?

Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Imprimir por pantalla
« Respuesta #11 en: 15 de Junio de 2017, 15:23:02 »
Es solo un terminal. No hace falta usar el Bootloader.

Si te lias con la UART, no te recomiendo SPI + LCD.

Saludos.