Autor Tema: Problema Comunicación rs232 pc-pic 18f2550  (Leído 1402 veces)

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

Desconectado Sleiter

  • PIC10
  • *
  • Mensajes: 2
Problema Comunicación rs232 pc-pic 18f2550
« en: 14 de Agosto de 2017, 14:21:03 »
Hola, estoy intentando comunicar un pic 18f2550 a través de rs232 con el pc, el cual tiene un adaptador usb-rs232, el problema esta en que al momento de recibir la información, este entrega solo basura.

codigo:


#include <18f2550.h>
#fuses INTRC_IO,NOWDT,NOPROTECT,NOPUT,NOLVP,NOMCLR
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_B1,rcv=PIN_B2,bits=8)
void main()
{
printf("\f");
while(1){
delay_ms(500);
printf("testing  ");
}
}

y lo que me entrega es esto:
xxø€xøxxxø€x€øøøø

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1295
Re:Problema Comunicación rs232 pc-pic 18f2550
« Respuesta #1 en: 14 de Agosto de 2017, 16:34:29 »
Definitivamente esto parece una diferencia entre los baudrates. Y lo que sospecho es que no estas configurando correctamente el oscilador interno del PIC.
Segun el datasheet, una vez que configuras el oscilador interno, este por default es de 8MHz, por lo que necesitas hacer una de dos cosas:

1) cambiar la directiva: #use delay(clock=4000000) por #use delay(clock=8000000)

2) O bien configurar el oscilador interno a 4MHz y para eso necesitas cargar el registro OSCON con el valor para 4MHz (ver la pagina 33 de la hoja de datos, para mas detalles).

Elreypic.

Desconectado Sleiter

  • PIC10
  • *
  • Mensajes: 2
Re:Problema Comunicación rs232 pc-pic 18f2550
« Respuesta #2 en: 14 de Agosto de 2017, 16:51:23 »
Definitivamente esto parece una diferencia entre los baudrates. Y lo que sospecho es que no estas configurando correctamente el oscilador interno del PIC.
Segun el datasheet, una vez que configuras el oscilador interno, este por default es de 8MHz, por lo que necesitas hacer una de dos cosas:

1) cambiar la directiva: #use delay(clock=4000000) por #use delay(clock=8000000)

2) O bien configurar el oscilador interno a 4MHz y para eso necesitas cargar el registro OSCON con el valor para 4MHz (ver la pagina 33 de la hoja de datos, para mas detalles).

Elreypic.

he intentado de distintas formas, pero aun sigue el problema, intente con el oscilador interno a 4 y 8 Mhz , también he intentado con uno externo,cambiando los fuse, pero el problema sigue siendo el mismo.
si realizo la prueba en proteus, este responde sin problemas y me muestra el mensaje, el problema es cuando esta montado.


 

anything