TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Jummi en 26 de Enero de 2011, 06:48:35

Título: Problema configuracion pic 18f4550 y comunicacion rs232.
Publicado por: Jummi en 26 de Enero de 2011, 06:48:35
Estoy intentando enviar un dato a un pic18f4550 por el puerto serie y que me lo rebote usando el usb. El usb funciona bien, pero no soy capaz de enviar y recibir datos correctamente desde el puerto serie. Al principio pense que era un problema de que habia perturbaciones en la placa y hacia modificaba los datos, pero creo que el problema esta en la configuracion correcta para el uso del puerto. El programa, si lo compilo, funciona perfectamente en proteus, pero al montarlo no envia los datos bien. El cristal externo que uso es de 4 Mhz.

LA cabecera es esta :

#DEFINE OSC 48
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV2,VREGEN
#use delay(clock=48000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PC,errors)

  Mire los foros aqui y añadi la linea de OSC 48, pero sigo sin tener resultados.


Alguien podria darme algo de luz en este problema?

Gracias a todos.
Título: Re: Problema configuracion pic 18f4550 y comunicacion rs232.
Publicado por: Jummi en 26 de Enero de 2011, 07:29:53
Ya encontre el problema, el Fuse CPUDIV2. Debe ser CPUDIV1.
Título: Re: Problema configuracion pic 18f4550 y comunicacion rs232.
Publicado por: rodrigo_control2009 en 17 de Diciembre de 2011, 23:30:10
y te  funciona  bien  con PLL1  Y CPUDIV1  o  usas  fisicamente un cristal de 48MHz ?

Yo  uso esta configuración para  usb y  rs232 pero con cristal de 20MHz y funciona  biem
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN  // 48 MHz  para  el  USB y 20 MHz para  el resto del sistema
#use delay(clock=48000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8, parity=N)
#include <usb_cdc_PER.h>
#define USB_CON_SENSE_PIN PIN_B2


Ya encontre el problema, el Fuse CPUDIV2. Debe ser CPUDIV1.