Autor Tema: Problema con interrupcion RDA con Pic 16F628A  (Leído 2878 veces)

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

Desconectado Ranculche

  • PIC12
  • **
  • Mensajes: 74
Problema con interrupcion RDA con Pic 16F628A
« en: 30 de Enero de 2013, 13:38:55 »
Hola a todos, paso por aca porque tengo un problema con la interrupción del puerto serie del Pic 16F628A. El mismo se cuelga cuando agrego la habilitacion de la interrupción (...enable_interrupts(int_rda); ..) o cuando agrego la declaracion de la funcion #int_rda. Este mismo programa lo probe en un Pic 16F886 y anda excelente. También probé mandar datos de el Pic 16F628A a la PC y anda bien. No se que es lo que podrá ser. Les agradecería que me den una mano. Aquí adjunto el programa. Gracias. Saludos

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: Problema con interrupcion RDA con Pic 16F628A
« Respuesta #1 en: 30 de Enero de 2013, 15:26:03 »
Prueba con set_tris_b(0b00000010); para decirle que el PIN B1(RX) es de entrada.

P.D: Cuidado con el 16F628. Tiene la facultad de poder ser programado en modo Low Voltage Programming, no le hacen falta los 13V por el pin MCLR para ser programado, se puede programar a tan solo 5V. Esto le hace que si está activado el LVP te puede entrar en modo programación mucho más fácilmente y te puede inducir a error. Si no lo estás programando en este modo te aconsejo que incluyas el #FUSE NOLVP
« Última modificación: 30 de Enero de 2013, 15:30:26 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Ranculche

  • PIC12
  • **
  • Mensajes: 74
Re: Problema con interrupcion RDA con Pic 16F628A
« Respuesta #2 en: 30 de Enero de 2013, 15:44:29 »
Gracias por responder RedPic, en cuanto a lo que me sugieres sobre la configuración del puerto B ya lo había probado y no funciono, la verdad que probé muchísimas cosas y nada. Lo que me decís del fuse NOLVP no lo he probado y te cuento que uso todo con 5V. En ese caso tendria que agregar el FUSE? igualmente, cuando pruebo mandar del pic a la pc anulando todo lo que tiene que ver con la función de interrupción y la habilitación de la misma, el programa y el envio andan bien. Que otra cosa podria ser? Gracias de nuevo. Saludos



Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: Problema con interrupcion RDA con Pic 16F628A
« Respuesta #3 en: 30 de Enero de 2013, 16:13:54 »
Si, si. El 16F628 solo funciona con 5V. Lo del LVP es una forma especial para programarlo. el 99% de los PIC´s tienen un voltaje de programación, que se les inyecta por el PIN MCLR de 12.30V a 13V. Pero han hecho algunos PIC's que pueden usar un VPP de sólo 5V, como es el caso del 628. A mi en mi comienzos me dio muchos problemas este PIC por eso. Poniéndole el fuse NOLVP solo le dices que va a ser programado como todos los demas "normales".

Voy a darle otro vistazo a tu programa a ver si le encuentro algo raro, pero haz la prueba con lo del NOLVP y lo del trisb.
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Ranculche

  • PIC12
  • **
  • Mensajes: 74
Re: Problema con interrupcion RDA con Pic 16F628A
« Respuesta #4 en: 01 de Febrero de 2013, 10:34:01 »
Hola de nuevo!! y de nuevo gracias por las respuestas. Te cuento que probé lo que me dijiste, lo del NOLVP y el PORTB y nada. Lo peor de todo que el programa que es corto y no se mas que revisar. Podrá ser algún problema de prioridades de interrupciones o algo por el estilo?.....a, y te vuelvo a recordar, el programa como esta, anda bien en un PIC 16F886. :(

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: Problema con interrupcion RDA con Pic 16F628A
« Respuesta #5 en: 01 de Febrero de 2013, 11:04:34 »
Extraño, realmente extraño. A ver si monto un pequeño programa que solo haga echo por el canal 232 y var qué resulta.  :?
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Ranculche

  • PIC12
  • **
  • Mensajes: 74
Re: Problema con interrupcion RDA con Pic 16F628A
« Respuesta #6 en: 01 de Febrero de 2013, 11:27:17 »
Ahí pude ver Cual es la parte que entra en conflicto. Cuando llamo a la función Enviar_byte() dentro de la función int_rda, se clava el programa. Así que lo que hice fue en vez de poner el llamado de la función levanto una bandera y llamo a la función en el main. Ahi adjunto como quedo. Igualmente me gustaría saber porque no anda de la otra forma en este PIC y en el otro si. Pero bueno, funciona. Muchas gracias RedPic. Saludos