Autor Tema: Interrupción #INT_RDA y #INT_EXT RB0  (Leído 1641 veces)

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

Desconectado amaia.13

  • PIC10
  • *
  • Mensajes: 6
Interrupción #INT_RDA y #INT_EXT RB0
« en: 06 de Marzo de 2012, 16:20:31 »
Hola,

Tengo un problema. Utilizo el PIC16F886 y dos interrupciones, la de puerto serie y la externa en RB0. Por separado me funcionan bien, pero juntas la interrupción serie se me queda colgada, utilizo un gets para recoger los datos que le mando desde Visual Basic, sin embargo, al utilizar un getc me funcionan correctamente pero sólo me recoge un dato(que es lo que hace realmente el getc) y yo lo que quiero recoger es una cadena de 10 caracteres. Gracias.
« Última modificación: 06 de Marzo de 2012, 16:23:32 por amaia.13 »

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Interrupción #INT_RDA y #INT_EXT RB0
« Respuesta #1 en: 06 de Marzo de 2012, 17:41:05 »
Hola amigo, lo que sucede es que la función Gets amarra el micro hasta recibir el caracter Ch13, en cambio la función Getc recibe caracter por caracter y no retiene, yo lo que hago es ir contando los caracteres recibidos y los voy almacenando en una matriz

dato_recibido[con_recibir] = getc();
con_recibir++;

Saludos.

Desconectado NoSepComo

  • PIC18
  • ****
  • Mensajes: 305
Re: Interrupción #INT_RDA y #INT_EXT RB0
« Respuesta #2 en: 07 de Marzo de 2012, 04:54:10 »
Bueno yo también te he contestado en el otro hilo igual que has abierto jeje. Lo mismo que te ha dicho diego mas o menos, pero añade el kbhit() para evitar errores en la recepción.


 

anything