Autor Tema: puts() y gets()  (Leído 15908 veces)

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

Desconectado vasconinicolas

  • PIC16
  • ***
  • Mensajes: 124
Re: puts() y gets()
« Respuesta #30 en: 30 de Mayo de 2010, 22:50:10 »
Perdon la intromisión y después de tanto tiempo, pero se me ocurría pensar que usar la función gets, sobre todo, me simplifica el código para recibir por RS232 por ejemplo, si lo comparamos con la recepcion con getc + buffer etc (que por cierto anda de 10). Pregunto, funcionará hacer una rutina con algún timer para que, en caso que venga llegando un string y por error nunca llegue el caracter de final de instrucción (el enter), la rutina nos saque del bucle gets? (sino entiendo que el programa del pic se va a quedar esperando eso y se producirá la "clavada del pic"). Lo voy a intentar porque me resisto a creer que el gets no se aconseja usar siendo tan facil.
Un abrazo a todos.
N
"No hacen ciencia los países ricos,
Son ricos los países por hacer ciencia"

Desconectado aprediz

  • PIC10
  • *
  • Mensajes: 1
Re: puts() y gets()
« Respuesta #31 en: 08 de Junio de 2010, 05:25:58 »
Que tal, soy nuevo en el foro,  entiendo que pueden ayudar con temas relacionados con pics, les comento algo que no puedo resolver, y agradecería la ayuda.
Estoy realizando pruebas de comunicación rs485 entre dos PIC18F242 con SN75176, la idea es que uno mande un dato serial cada cierto tiempo, y el otro reciba este dato confirmando una petición, al recibir este debe mandar 4 datos(4 bytes), -ahí- está el problema no puedo almacenar los 4 datos, solo uno, con la función getc();, he buscado información al respecto e incluso adquirí un libro pero no encuentro nada que me  ayude, les dejo algo de mi código solo para que puedan ver lo perdido que estoy, hace poco estoy intentando programar en lenguaje c.
Sin más por el momento agradezco que se tomen un minuto de su tiempo para poder ayudar a un desorientado.

Un saludo.

//parte en la que quiero almacenar 4 bytes
#define var1[4]

#int_rda
void serial_isr()
{
    disable_interrupts(global);
    var1=getc();
    enable_interrupts(global);
}


 

anything