Autor Tema: Problema configuracion pic 18f4550 y comunicacion rs232.  (Leído 4125 veces)

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

Desconectado Jummi

  • PIC10
  • *
  • Mensajes: 21
Problema configuracion pic 18f4550 y comunicacion rs232.
« 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.

Desconectado Jummi

  • PIC10
  • *
  • Mensajes: 21
Re: Problema configuracion pic 18f4550 y comunicacion rs232.
« Respuesta #1 en: 26 de Enero de 2011, 07:29:53 »
Ya encontre el problema, el Fuse CPUDIV2. Debe ser CPUDIV1.

Desconectado rodrigo_control2009

  • PIC12
  • **
  • Mensajes: 54
    • Blog  de la  Orden del  temple
Re: Problema configuracion pic 18f4550 y comunicacion rs232.
« Respuesta #2 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.
“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”