Autor Tema: Problema recepcion RS232 en PIC16F1933  (Leído 8164 veces)

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

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Problema recepcion RS232 en PIC16F1933
« en: 14 de Octubre de 2012, 16:03:17 »
Hola que tal

Se muy bien que existen muchos temas acerca de lo mismo,pero me gustaria saber si alguien a tenido este problema con este PIC en especifico que es el que estoy usando,he intentado hacerlo por distintos medios pero sin exito,uso un max232 armado segun las hojas del fabricante y lo he checado con algunos otros proyectos y esa parte no parece estar mal,ademas esta montada ya en PCB,asi que descarto falsos contactos ya que lo he checado mil veces,coloco un codigo pequeño que realice para ver la parte de la recepcion de datos,les pido le echen una mirada y me digan si estoy cometiendo algun error.

Nota: en algun otro post lei que en ocaciones fallaba la interrupcion del RS232 y lo hice sin y con la misma sin resultados,la version del compilador que uso es la 4.120 de CCS

se acepta cualquier sugerencia,gracias.

Código: [Seleccionar]
#include<16f1933.h>

//Directivas al compilador
#fuses HS,NOWDT,MCLR,NODEBUG,PUT,NOBROWNOUT,NOLVP,NOPROTECT  //Bits de configuracion
#use delay(clock=20000000) //Velocidad del cristal
#use RS232(UART1,baud=9600,xmit=pin_c6,rcv=pin_c7,stop=1,parity=n,bits=8) //Configuracion para el RS232

#byte porta=0x00C

void main(void)
{
setup_adc(ADC_OFF); //Apagamos convertidor AD
setup_adc_ports(NO_ANALOGS); //Desactivamos el convertidor analogico-digital
setup_comparator(NC_NC_NC_NC);  //Desactivamos comparadores de manera general
setup_ccp1(CCP_OFF); //Desactivamos el comprador 1
setup_ccp2(CCP_OFF); //Desactivamos el comprador 2
setup_ccp3(CCP_OFF); //Desactivamos el comprador 3

//Configuramos los pines de los puertos atraves de los registros TRIS
set_tris_a(0b00000000);

while(true)  //Iniciamos ciclo infinito
{
if(kbhit())
{
bit_set(PORTA,5);
}
}
}
Nunca se deja de aprender

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #1 en: 14 de Octubre de 2012, 16:33:21 »
Actualizare a una version de compilador mas actual para ver si se corrige,ya que por ejemplo el pickit2 no tiene soporte para ese pic desde MPLAB y en el ejecutable individual se tienen que actualizar las listas de dispositivos o no lo reconoce....espero que sea por ahi el problema....otro bug de CCS,amenos que me digan algo mas....
Nunca se deja de aprender

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #2 en: 14 de Octubre de 2012, 17:40:42 »
Nop no se corrige,pase de la version 4.120 a la 4.130 y nada sigue igual....alguna idea???
Nunca se deja de aprender

Desconectado fantaxmax

  • PIC16
  • ***
  • Mensajes: 107
    • Libertycraft - Minecraft
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #3 en: 14 de Octubre de 2012, 19:02:41 »
lo probaste en Proteus? para descartar falla de programa?

EDITO:

prueba a cambiar el bit_set(PORTA,5); por output_high(PIN_A4);
« Última modificación: 14 de Octubre de 2012, 19:14:28 por fantaxmax »
"El presente es suyo, El futuro es mio" N.T.
El conocimiento es gratuito e ilimitado, solo debes saber donde buscarlo.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #4 en: 14 de Octubre de 2012, 20:00:47 »
No lo he probado en proteus,probare a cambiar lo que me comentas,gracias.
Nunca se deja de aprender

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #5 en: 14 de Octubre de 2012, 20:25:15 »
nop no funciona con el cambio que me mencionas  :(
Nunca se deja de aprender

Desconectado fantaxmax

  • PIC16
  • ***
  • Mensajes: 107
    • Libertycraft - Minecraft
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #6 en: 14 de Octubre de 2012, 21:33:43 »
que extraño... supongo que con el programa deseas recibir algun dato? el programa que posteaste es solo para que cuando el pic detecte un start bit suba a 5v un pin, en proteus el codigo a mi me funciona, uso la version 4.104, apenas apreto una tecla en la virtual terminal el pin se activa, con el codigo que te propuse, basicamente solo eso hace una sola vez, si lo pruebas en pic real mide el voltaje de salida del pin. puede que te moleste pero, asegurate que el pin MCLR este a 5v ya que activas el master clear en los fuses, si no vas a usarlo cambia el MCLR por NOMCLR.

puedes cambiar el codigo que te propuse por output_toggle(PIN_AX); con eso el pin que coloques en X debiese cambiar su estado cada vez que el pic recibe un start bit.

espero te funcione Saludos!
"El presente es suyo, El futuro es mio" N.T.
El conocimiento es gratuito e ilimitado, solo debes saber donde buscarlo.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #7 en: 15 de Octubre de 2012, 00:55:29 »
ijole pues esta muy raro,ya me decidi a reprogramarlo con el compilador de microchip,el hitech,volvi a releer como 10 veces las hojas de datos referente a la recepcion del rs232,ya que por ahora solo me interesa la recepcion,muchas gracias fantaxmax te lo agardesco,pondre aqui el resultado de este problema....colocare el hardware que estoy usando talves la estoy regando en eso...
Nunca se deja de aprender

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #8 en: 15 de Octubre de 2012, 01:01:26 »
Haber aqui esta el hardware que uso,igual ahi la estoy regando,creo que me involucre tanto en el problema que seguramente estoy dejando pasar algun detalle en el hardware,echenle un ojo y gracias.

Esquematico Max232
Nunca se deja de aprender

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #9 en: 15 de Octubre de 2012, 01:42:22 »
Alguien podria simular porfavor en proteus este codigo y decirme si funciona o no??? se los agradeceria,este esta en Hitech 9.70 y nada,creo que si va a ser un problema de hardware o almenos que la este regando en mi programacion:

Código: [Seleccionar]
//Libreria principal
#include<htc.h>

//Prototipos de funciones
void configuracion_rs232(void);

//Variables
unsigned char errores=0x00;
unsigned char dato_recibido=0x00;
unsigned char recibido=0;

void main(void)
{
configuracion_rs232();
while(1)
{
if(recibido==1)
{
//Leemos el bit de error FERR
if(FERR==1)
RA5=1;
else
RA5=0;
dato_recibido=RCREG;
if(dato_recibido!=0x00)
RA4=1;
}
recibido=0;
}
}

void configuracion_rs232(void)
{
//Configuramos tris
TRISA4=0; //para un led indicador
TRISA5=0; //Para un led indicador
TRISC7=1; //Recepcion RS232
TRISC6=0; //Transmision RS232
//Configuramos el baud rate
SPBRG=520;
BRGH=1;
BRG16=1;
//Habilitamos el puerto serie y el modo asincrono
SPEN=1;
SYNC=0;
//Habilitamos la interrupcion
RCIE=1;
PEIE=1;
GIE=1;
//Habilitamos la recepcion
RCIE=1;
}

void interrupt recepcion(void)
{
if(RCIF==1)
{
recibido=1;
}
RCIF=0;
}
Nunca se deja de aprender

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #10 en: 15 de Octubre de 2012, 01:55:23 »
Haber segun yo lo basico para que la recepcion funcione en cuanto a conexiones se refiere solo se requieren recepcion,transmision(para usarlo a futuro) y tierra,o no????

o si se ocupa algun otro pin??? esto es para poder conectar un lector de codigo de barras de la marca Posline modelo LC2300.

les dejo el link con el pinout del conector con el que me guie para hacer las conexiones,creen que tenga que conectar algo mas??? porque siento que va a ser de hardware

Pinout conector RS232
Nunca se deja de aprender

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #11 en: 15 de Octubre de 2012, 12:18:05 »
Despues de muchas pruebas creo que el problema esta en mi lector,como que hace falta una inicializacion o algo asi aunque no hay mucha informacion del mismo,y tendre que probar mi target con la pc o con otra cosa.... :(

Se aceptan sugerencias.
Nunca se deja de aprender

Desconectado fantaxmax

  • PIC16
  • ***
  • Mensajes: 107
    • Libertycraft - Minecraft
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #12 en: 15 de Octubre de 2012, 12:35:30 »
esas 4 resistencias en serie nunca habia visto que las utilizaran en el max232, prueba retirandolas si ya estan en la placa, solo puentea ambos terminales de la resistencia y me cuentas

Saludos!
"El presente es suyo, El futuro es mio" N.T.
El conocimiento es gratuito e ilimitado, solo debes saber donde buscarlo.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #13 en: 15 de Octubre de 2012, 13:24:53 »
que cres que ya lo hice fantaxmax y nada sigue igual,siento que va a ser inicializacion,tendre que probar mi target con otro dispositivo o conectarlo a la PC para descartarlo,e investigar como preparar el lector para que transmita el dato. :(
Nunca se deja de aprender

Desconectado fantaxmax

  • PIC16
  • ***
  • Mensajes: 107
    • Libertycraft - Minecraft
Re: Problema recepcion RS232 en PIC16F1933
« Respuesta #14 en: 15 de Octubre de 2012, 13:33:49 »
prueba primero con un programa que envie ejemplo una A por rs232 y conectalo al pc si la recibes obviamente el problema esta en otro lado, puedes hacer tambien un repetidor, tu le envias algo al pic y el pic te lo devuelve

Espero lo Soluciones

Saludos!
"El presente es suyo, El futuro es mio" N.T.
El conocimiento es gratuito e ilimitado, solo debes saber donde buscarlo.