Autor Tema: Problema comunicacion serie 18F  (Leído 20936 veces)

0 Usuarios y 11 Visitantes están viendo este tema.

Desconectado rocky3200

  • PIC10
  • *
  • Mensajes: 28
Re: Problema comunicacion serie 18F
« Respuesta #45 en: 09 de Septiembre de 2006, 17:53:52 »


  Yo por mas que lo simulo, el RC1IF no se activa.

  He reducido el programa a la minia exprecion de recibir dos datos y responder, pero solo coje el primer dato luego ya no carga mas datos.

Te adjunto el programita simplificado.

Podrias decirme como configuras tu los bits de configuracion. Yo lo activo el HS

Tambien estoy cargando el progrma en el pic para ver si funciona con el hyperterminal de windows pero nada

Estoy desesperado ya


Desconectado rocky3200

  • PIC10
  • *
  • Mensajes: 28
Re: Problema comunicacion serie 18F
« Respuesta #46 en: 09 de Septiembre de 2006, 17:56:17 »
me he equivocado de archivo
el bueno del reducido es este otro

Desconectado rocky3200

  • PIC10
  • *
  • Mensajes: 28
Re: Problema comunicacion serie 18F
« Respuesta #47 en: 10 de Septiembre de 2006, 08:48:17 »


  Tal vez esto pueda ser una pista para saber lo que falla.

  Cuando simulo en el momento que activo la interrupcion por recepcion comienza el a funcionar el archivo .scl y carga el primer dato pero una vez que recojo ese primer dato de RCREG1 no carga el siguiente y el mensaje que me aparece en la ventana OUTPUT del MPLAB es:

"UART-W0002: Read attempted from an Empty RCREG SFR, invalid data"

No vuelve a cargar ningun dato mas y por eso nunca salta el RC1IF


La cuestion es que no se porque pasa eso. Ademas ese error debe ser el que hace que funcione fisicamente tampoco, asi que llego a la conclusion de que el programa esta mal. Debo estar pasando algo por alto en la USART que hace que no cargue mas datos.

Te adjunto los pasos de la datasheet y grafica de las señales a ver si puedes echarme un cable porque estoy bloqueado. Una vez este solucionado ese problema estoy seguro que tiene que funcionar porque la transmision independientemente si me funciona.



Desconectado rocky3200

  • PIC10
  • *
  • Mensajes: 28
Re: Problema comunicacion serie 18F
« Respuesta #48 en: 10 de Septiembre de 2006, 09:30:09 »
Cuando lo simulo si lo hago pulsando RUN en vez de paso a paso si me funciona la simulacion y escribe los datos en archivo .txt de salida, pero cuando lo hago paso a paso me pasa lo que he descrito anteriormente.

Tambien decir que me el mesaje de error anteriormente citado cuando lo simulo en RUN.

Desconectado rocky3200

  • PIC10
  • *
  • Mensajes: 28
Re: Problema comunicacion serie 18F
« Respuesta #49 en: 10 de Septiembre de 2006, 10:01:02 »
leyendo el documento de erratas de la datasheet he visto un par de comentarios sobre la USART. Los mas releventas que he visto son estos pero no sabria decir si afectan al funcionamiento de mi programa. Estoy invetigando

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Problema comunicacion serie 18F
« Respuesta #50 en: 10 de Septiembre de 2006, 16:04:21 »
rocky3200 algo que es importante es que el estímulo de usart no es bit a bit sino que es por registro.  Es decir, se carga el registro completo, no hay bit de start, stop ni nada por el estilo que esté siendo "simulado".

Por eso se llama "register stimulus".

Tu problema es que has hecho un estímulo para el AD!!! Si te fijas tu archivo .SCL y tu Archivo SBS es eso lo que has hecho.

Me tomé la libertad de modificartelos para que lo puedas simular.

No habrá archivo de salida aún porque tu no estas enviando nada por la USART al menos en el último ejemplo que observé.

Te adjunto la imagen de lo que ví, y de cómo debiera quedar.

Además te adjunto los archivos sbs y scl generados correctamente para que los pegues directamente y los puedas simular en tu proyecto.



- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado rocky3200

  • PIC10
  • *
  • Mensajes: 28
Re: Problema comunicacion serie 18F
« Respuesta #51 en: 11 de Septiembre de 2006, 15:42:16 »


 Es cierto ha sido un pequeño fallo. Pero ya lo tuve en cuenta cuando lo he simulado en posteriores ocasiones.

 A parte del reducido tambien colgue el prorama completo y ambos me sucede lo mismo.

 Yo insisto, si le doy a run puedo ver en el archivo salida el dato que transmito, con lo cual puedo pensar que funciona. Pero cuando lo hago paso a paso solo carga el primer dato y a partir de ahi no carga mas datos por eso no salta el RC1IF y no continua el programa. Ya no se donde puede estar mal porque si estuviera bien funcionaria en el entrenador, y hasta el momento no funciona fisicamente.

Simulando tanto en modo run como paso a paso me da el mensaje siguiente: UART-W0002: Read attempted from an Empty RCREG SFR, invalid data.


 
 

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Problema comunicacion serie 18F
« Respuesta #52 en: 11 de Septiembre de 2006, 16:03:05 »
rocky3200 estoy convencido que tu problema es de simulación no de código.

Es decir, vayamos por partes, quiero que puedas "simular" una cosa por vez, si no puedes simular la recepción pues bien tampoco podrás hacer eso con la transmisión.

Según leo en tu archivo SCL tu apuntas al archivo de usart en C:\REDUCIDO\ENTRADA.txt , realmente lo tienes en ese subdirectorio? o está en otra parte??

Esa puede ser la causa , como te dije antes en mi post anterior, el proyecto anterior (éste no lo probé aún) sí me funciona con los cambios que te dije anteriormente.

El error que te da, no es que no llega a la instancia del RCREG1! Sí llega pero el tema es que no puede levantar el archivo que contiene el estímulo de USART1.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado rocky3200

  • PIC10
  • *
  • Mensajes: 28
Re: Problema comunicacion serie 18F
« Respuesta #53 en: 11 de Septiembre de 2006, 18:53:34 »

   El archivo entrada no es problema porque es el mismo que he utilizado para todos. Los datos que contiene son los mismos, datos aleatorios partiendo del 01.... para ver como los va cargando sucesivamente. Este archivo esta comprobado y esta correcto.

   Por mas que lo miro no se que puede tener de especial ete pic (18F8720), porque he repaso mil veces los pasos que recomiendan para realizar la comunicacion asincrona y nada.

   Yo he programado e implementado fisicamente circuitos con pic de la serie 18F y me ha funcionado la comunicacion serie sin problema, no entiendo porque con este pic en concreto no funciona. Puedo enceder luces y demas pero la comunicacion no funciona.

   Algo se me escapa

   Gracias por tu ayuda de todas formas


Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Problema comunicacion serie 18F
« Respuesta #54 en: 11 de Septiembre de 2006, 20:57:14 »

   El archivo entrada no es problema porque es el mismo que he utilizado para todos. Los datos que contiene son los mismos, datos aleatorios partiendo del 01.... para ver como los va cargando sucesivamente. Este archivo esta comprobado y esta correcto.

   Por mas que lo miro no se que puede tener de especial ete pic (18F8720), porque he repaso mil veces los pasos que recomiendan para realizar la comunicacion asincrona y nada.

   Yo he programado e implementado fisicamente circuitos con pic de la serie 18F y me ha funcionado la comunicacion serie sin problema, no entiendo porque con este pic en concreto no funciona. Puedo enceder luces y demas pero la comunicacion no funciona.

   Algo se me escapa

   Gracias por tu ayuda de todas formas



rocky3200, lo puntual es que yo pruebo tu programa con el estimulo del SCL bien cargado y me funciona!! Recibe siempre!!

El error que te da, como te dije en el post anterior es producto que "por alguna causa" no te está leyendo el archivo de entrada!.  Por eso queda vacío el RCREG1.

Tu pic no tiene nada de raro, es que estas simulando mal y por eso no puedes depurar bien tu software y por eso no te funciona.

Ahora bien, si piensas que es otra cosa sigue intentando, cualquier cosa vuelve a preguntar.

Saludos

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado rocky3200

  • PIC10
  • *
  • Mensajes: 28
Re: Problema comunicacion serie 18F
« Respuesta #55 en: 12 de Septiembre de 2006, 09:59:32 »

   si te parece, cuelgo el programa final y me envias el .hex generado por ti para grabarlo en el pic.

   De esta forma veo que pasa fisicamente

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Problema comunicacion serie 18F
« Respuesta #56 en: 12 de Septiembre de 2006, 11:33:04 »

   si te parece, cuelgo el programa final y me envias el .hex generado por ti para grabarlo en el pic.

   De esta forma veo que pasa fisicamente

No tengo inconvenientes, pero en ese caso también deberemos confiar en:

1) Que el hardware está 100% ok.

2) Que tu programador funciona 100% ok.

No tengo problemas en ayudarte con esto, te habrás dado cuenta que así es, solo quiero mostrarte que si en el simulador no funciona en tu PIC tampoco lo hará.

El punto es que yo simulo, 10, 20 ciclos de usart.  Cosas que suceden en unos pocos milisegundos.  Tal vez tu software se cuelga luego de varios segundos por 'otra' causa.

Si el software me funciona en el simulador durante un tiempo y a tí no te funciona en el hardware, entonces podríamos si quieres, hacer un simple software de eco de usart, como que el que hice para el 18F452 pero para tu PIC.  Tu te cercioras de que el MAX232 o lo que uses esté bien armado y listo.  De esa forma nos aseguramos que el 'firmware' sencillo no sea la causa.

Pero como te dije antes, comencemos por corregir tu software y si no anda en el hardware, pasamos a lo del eco.  :mrgreen:

Espero tus comentarios  :)

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado rocky3200

  • PIC10
  • *
  • Mensajes: 28
Re: Problema comunicacion serie 18F
« Respuesta #57 en: 12 de Septiembre de 2006, 18:56:29 »


   El hardware esta 100% ok porque la tarjeta con el PIC ha sido comprada a microchip, es decir, es un entrenador de microchip que ya viene construido para hacer pruebas. Yo le he metido programas sencillos para encender leds y funcionan. Lo unico que no funciona es la comunicacion serie.

  El programador tambien es comprado. Se tratra del programador para el programa winpic800 que lo venden en la misma pagina. Este era el unico programador universal que podia programar el pic20F8722. Ademas como te comentaba he programado programas sencillos y han funcionado.

  Por lo tanto confio pleneamente en el hardware.

  Yo te dejo aqui el archivo .asm  para que puedas generar el .hex

  Si lo simulas en el archivo de .txt de salida no aparecera nada porque he quitado el dato de prueba que se enviava en el anterior y ahora coge el dato de los puertos que al limpiarlos siempre estan a cero y lo que transmiten no se ve.


Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Problema comunicacion serie 18F
« Respuesta #58 en: 12 de Septiembre de 2006, 22:12:06 »


   El hardware esta 100% ok porque la tarjeta con el PIC ha sido comprada a microchip, es decir, es un entrenador de microchip que ya viene construido para hacer pruebas. Yo le he metido programas sencillos para encender leds y funcionan. Lo unico que no funciona es la comunicacion serie.

  El programador tambien es comprado. Se tratra del programador para el programa winpic800 que lo venden en la misma pagina. Este era el unico programador universal que podia programar el pic20F8722. Ademas como te comentaba he programado programas sencillos y han funcionado.

  Por lo tanto confio pleneamente en el hardware.

  Yo te dejo aqui el archivo .asm  para que puedas generar el .hex

  Si lo simulas en el archivo de .txt de salida no aparecera nada porque he quitado el dato de prueba que se enviava en el anterior y ahora coge el dato de los puertos que al limpiarlos siempre estan a cero y lo que transmiten no se ve.



rocky3200 , bueno, me alegro que el hardware y el programador sean confiables, realmente para hacer estas pruebas hay que "confiar en algo", sino nunca se puede tomar un punto de partida razonable.

Ahora revisaré el archivo .asm , ahora comentame qué pretendes que haga este software, ésto te lo comento por si veo errores o algo que me parece que no funcionará., pero antes debo saber qué pretendes con este firmware para lograr tu objetivo.
 
Por ej, ¿Recibir un byte y responderlo?

Si quieres se puede hacer tambien un "blink" de un led, cada vez que recibe y responde un byte.  Para ello me debieras indicar en qué pin está el led en cuestión.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado rocky3200

  • PIC10
  • *
  • Mensajes: 28
Re: Problema comunicacion serie 18F
« Respuesta #59 en: 13 de Septiembre de 2006, 15:59:52 »

 He estado jugando con el bit WUE del registro BAUDCON1 pero no consigo nada.

 Podria influir en algo ese bit? . Por defecto siempre esta a cero