TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: literatronic en 11 de Mayo de 2007, 12:41:44
-
Agradeceria la ayuda, para crear una rutina que me permita establecer un timeout en una comunicacion rs232.
-
Imagino que la recepción la haces utilizando la interrupción RDA y tu interés es que el PIC haga algo cuando lleve un rato sin recibir nada.
En ese caso yo utilizaría un Timer, que cargarías con el tiempo que deseas establecer como Timeout dentro de la interrupción RDA, y en el que tendrías una interrupción por desbordamiento para el tratamiento de ese Timeout.
-
El PIC16f84a no tiene USART, por lo tanto tampoco tiene interrupción RDA. Para el timeout se podría mantener verificando el estado del pic de RX, si se mantiene en alto por mas tiempo que el configurado en el timer entonces se genera la interrupción, si RX cambia a bajo quiere decir que se genero el bit de star, despues de esto el programa debe saltar a la rutina que recibe el dato serial en la cual lo primero que se debe hacer es limpiar el timer para que no se genere la interrupción.
Si el programa debe hacer muchas cosas a la vez y no puede mantenerse verificanco el pin de RX entonces yo recomendaría que este pin fuera el RB0 para usar la interrupción externa configurada en flanco descendente, cuando se genere interrupción externa es porque se recibió el bit de start y se procede a recibir el dato.
Espero haber sido claro.
saludos.
-
Muchas gracias por la ayuda...
Estoy intentando implementar la segunda sugerencia, si funciona correctamente publicaré el codigo para que sirva de referencia a otros =]
-
Hola Literatronic, yo estoy viendo de implementar algo similar, por lo que te agradecere la publicación de lo que avances..
Gracias
Muchas gracias por la ayuda...
Estoy intentando implementar la segunda sugerencia, si funciona correctamente publicaré el codigo para que sirva de referencia a otros =]
-
Muchas gracias por la ayuda...
Estoy intentando implementar la segunda sugerencia, si funciona correctamente publicaré el codigo para que sirva de referencia a otros =]
Saludos, sé que ya lleva rato esto. Pero tengo una duda, si te funcionó? Tengo planeado hacer lo mismo y ando buscando información.