Autor Tema: Problemas con UARTRS232  (Leído 2453 veces)

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

Desconectado vet2

  • PIC10
  • *
  • Mensajes: 10
Problemas con UARTRS232
« en: 15 de Agosto de 2007, 18:09:52 »
Hola a todos, estoy teniendo muchos problemas con las comunicaciones RS232 entre PIC-PC.
No hace nada, ni escribe ni recibe y no se donde puede estar el fallo, he cambiado el PIC y el MAX y sigue sin hacer nada y no se ya por donde seguir.
Os dejo las conexiones que he echo y el codigo por si me sobra o me falta algo.
Al lado de las patillas del MAX indico la tensión que he medido con el polimetro por si os orienta un poco más.
Las conexiones que he echo son:

   PC              MAX232         
    2    ---->      14(-10.5V)             
    3    ---->      13(0V)
    5    ---->      15

  MAX232                    PIC
   11(5.13v)    ---->      17(C6)             
   12(5.13V)    ---->      18(C7)

Aunque algunas veces la tensión en las patillas 11 y 12 del MAX tienen 0.37 V

El codigo es el siguiente:


#include <16F876.h>

#fuses HS,NOPROTECT,NOPUT,NOWDT,NOBROWNOUT,NOLVP,NOCPD  //configuramos el pic
#use delay (clock=8000000)  //configuramos el reloj
#USE RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_C6,RCV=PIN_C7,STREAM=COM_A)


//Rutina de atencion de interrupcion para el puerto serie Com_A
#INT_RDA
RDA_isr(){
   char rxa;

  disable_interrupts(INT_RDA); //deshabilidatos la interrupcion 
   if(kbhit(COM_A)){   
      rxa=getc(COM_A);
      fprintf(COM_A,"Dato en A recibido %c.",rxa);
   }
  enable_interrupts(INT_RDA); //habilidatos la interrupcion
}

// Programa Principal
void main(void){
   set_tris_a(0x00); //Configuramos el puerto A como salidas digitales
   set_tris_b(0x00); //Configuramos el puerto B como salidas digitales
   set_tris_c(0x00); //Configuramos el puerto C como salidas digitales
   enable_interrupts(INT_RDA); //int puerto serie*/
   enable_interrupts(GLOBAL);  //todas int

   while(TRUE){   // bucle infinito de la aplicación
      output_high(PIN_B7); //Encender
      delay_ms(500);
      output_low(PIN_B7); //Apagar
      delay_ms(500);
   }
}

Muchas gracias.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Problemas con UARTRS232
« Respuesta #1 en: 16 de Agosto de 2007, 11:12:02 »
El trisc<6:7> deben estar en 1 para configurarse como pines de usart.

- 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 MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Problemas con UARTRS232
« Respuesta #2 en: 16 de Agosto de 2007, 17:33:00 »
Elimina o comenta las tres lineas de configuracion de puertos.

Código: C
  1. // set_tris_a(0x00); //Configuramos el puerto A como salidas digitales
  2.    // set_tris_b(0x00); //Configuramos el puerto B como salidas digitales
  3.    // set_tris_c(0x00); //Configuramos el puerto C como salidas digitales

CCS no necesita que los configures, el lo hace solo.

Como dice Maunix, seguramente alli esta el error... :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Problemas con UARTRS232
« Respuesta #3 en: 19 de Agosto de 2007, 15:26:35 »
Ojo que cuando se usa la sentencia fast_io, el CCS no configura automáticamente los pines.


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Problemas con UARTRS232
« Respuesta #4 en: 19 de Agosto de 2007, 16:28:05 »
Totalmente cierto, pero segun el codigo del amigo Vet2 no usa Fast_IO, entonces por defecto usa Standard_IO que si los configura... :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Problemas con UARTRS232
« Respuesta #5 en: 20 de Agosto de 2007, 06:05:01 »
Totalmente de acuerdo, solo lo puse como nota indicatoria, en el caso que use el fast_io, que después vienen los problemas por dicha sentencia.


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado vet2

  • PIC10
  • *
  • Mensajes: 10
Re: Problemas con UARTRS232
« Respuesta #6 en: 07 de Septiembre de 2007, 23:36:41 »
Perdón por no haber respondido antes pero llevo un tiempo sin poder acceder al foro, el firefox me da un error, 502 Bad Gateway y no puedo ver nada.

Gracias a todos por responder, he echo lo que comentabais de cambiar la configuración de los puertos, e incluso comentar las lineas para que las configure el CCS solo, pero nada.

Sigue sin hacer nada, bueno para ser exactos hace un poco, cuando alimento el pic, si me envía datos, pero sólo una vez y justo cuando lo alimento.

No se, creo que será el pic que esta cascao. De nuevo gracias por vuestras respuestas.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Problemas con UARTRS232
« Respuesta #7 en: 08 de Septiembre de 2007, 09:20:26 »
Cuanto voltaje tienes en el pin MCLR??

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Problemas con UARTRS232
« Respuesta #8 en: 08 de Septiembre de 2007, 09:30:48 »
vet2:

Compila y prueba esto:

Código: C
  1. /************************************************************
  2.  Propósito:  Testea la UART a 9600 baudios
  3.  Procesador: PIC16F876A con un crital de 8 MHz
  4.  Hardware:   MAX232
  5.  Software:  CCS PCM
  6. ************************************************************/
  7. #include <16F876a.h>
  8. #fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
  9. #use delay(clock=8000000)
  10. #use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7)
  11.  
  12. main() {
  13.    printf("PIC16F876A a la espera" );  // Envío mensaje de "estoy vivo"
  14.    while(true) {
  15.       putc(getc());                          // eco de lo que recibo
  16.    }
  17. }

Sólo devuelve el eco de lo que le envíes. Si no funciona es un problema de hardware.

Otros códigos:

Lo mínimo para comunicarnos vía RS232 Hardware y Software
Recibiendo del RS232 sobre un Buffer y procesandolo posteriormente.
Traductor RS232 a Morse (Sonoro y visual)
« Última modificación: 08 de Septiembre de 2007, 09:33:03 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado vet2

  • PIC10
  • *
  • Mensajes: 10
Re: Problemas con UARTRS232
« Respuesta #9 en: 08 de Septiembre de 2007, 13:46:15 »
 :-/Ya funciona :-/

Despues de probar el el programa que ha dejado RedPic (muchas gracias, por cierto), y comprobar que no :shock: fucionaba ya no sabia si cortarme las venas o dejarmelas largas.

He revisado el cableado de nuevo y todo estaba correcto, el problema era de software. Más concretamente del ¡¡¡¡¡HYPERTERMINAL!!!!! Desesperado por no saber que hacer cambie el puerto del pc y abri el Hiperterminal para el Com1 (yo lo tenia realizando las pruebas en en Com3), doy alimentacion al PIC y comienza a funcionar!!! (con el soft de RedPic). Creia que teneia el puerto roto pero no es asi, me he dado cuenta de un detalle y es el Com1 estaba configurado el Hiperterminal de la siguiente forma:
             Emulación:ANSIW
             Id del terminal Telnet:VT100

He cambiado esa configuración al Com3, que yo lo tenia en Autodetectar y ya me ha funcionado, he probado el programa que puse al principio y tambien funciona :mrgreen:.

Para ser novato en esto de los pic creo que la novatada la he pagado bien  :).
No seais muy duros conmigo, y muchas gracias a todos por vuestras respuestas.

Saludos

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Problemas con UARTRS232
« Respuesta #10 en: 08 de Septiembre de 2007, 16:30:28 »
Ja, ja, ja  :D :D :D

Aquí tienes mi primer post en este magnifico, insuperable, enorme, maravilloso e increible foro. Es del 16 de noviembre de 2005.

¿A que no sabes de que trataba? Imagínatelo y acertarás.  :mrgreen:

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania


 

anything