# Hserin timeout label PIC Simulator IDE



## ecokino (May 6, 2011)

Buenas tardes, no sé si esto esté publicado en otra parte pero, supongo que no porque hice la búsqueda y no arrojó resultados. Sucede que estoy haciendo un programa para comunicar un PIC 16F877A con la PC utilizando el puerto serial, no hay problema, ya comuniqué todo, pero en el PIC necesito una instrucción para escuchar el puerto serial y después de cierto tiempo (digamos 1000 milisegundos), si no se ha recibido nada, salte a una etiqueta; sucede que el Hserin de este compilador se queda "estacionado"  en esta instrucción hasta que recibe algo del puerto serial. Ya hice pruebas, busqué en foros distintos pero casi todos hacen referencia al PICBasic Pro, C y otros lenguajes, yo estoy utilizando el BASIC Compiler que viene con el PIC Simulator IDE ¿alguien ha hecho esto antes?


----------



## avefenix586 (Dic 3, 2013)

ecokino dijo:


> Buenas tardes, no sé si esto esté publicado en otra parte pero, supongo que no porque hice la búsqueda y no arrojó resultados. Sucede que estoy haciendo un programa para comunicar un PIC 16F877A con la PC utilizando el puerto serial, no hay problema, ya comuniqué todo, pero en el PIC necesito una instrucción para escuchar el puerto serial y después de cierto tiempo (digamos 1000 milisegundos), si no se ha recibido nada, salte a una etiqueta; sucede que el Hserin de este compilador se queda "estacionado":enfadado: en esta instrucción hasta que recibe algo del puerto serial. Ya hice pruebas, busqué en foros distintos pero casi todos hacen referencia al PICBasic Pro, C y otros lenguajes, yo estoy utilizando el BASIC Compiler que viene con el PIC Simulator IDE ¿alguien ha hecho esto antes?



Hola justo acabo de implementar un circuito con lo que mencionas y efectivamente ocurre ese problema aun con la ultima version que utilizo el 6.91 del Pic Simulator IDE y al llegar el programa a la parte del codigo ya sea con la intruccion hserin o serin por hardware o software el programa se queda plantado alli, no puedo creer que no haya una medida contra esta situacion de parte de los mismos creadores de este software pues tu programa se quedara plantado escuchando el puerto serie y dejara de hacer tantas cosas pendientes en el programa , siendo el puerto serie implemetado por hardware en el 16f877a que uso, deberia haber una forma en el lenguaje basic de suplir esta deficiencia, si alguno l sabe o tiene la solucion podria respondernos?, agradeciendo de antemano por la solucion


----------



## D@rkbytes (Dic 4, 2013)

avefenix586 dijo:


> al llegar el programa a la parte del código ya sea con la instrucción hserin o serin por hardware o software el programa se queda plantado allí.
> No puedo creer que no haya una medida contra esta situación de parte de los mismos creadores de este software pues tu programa se quedará plantado escuchando el puerto serie y dejara de hacer tantas cosas pendientes en el programa.
> 
> Debería haber una forma en el lenguaje basic de suplir esta deficiencia.
> ¿Si alguno sabe o tiene la solución podría respondernos?


Se queda detenido el programa porque la instrucción Serin del PICSimulator IDE no permite hacerlo hasta que se reciba algo.
HSerin y Serin carecen de argumentos para continuar el programa cuando se cumpla cierto tiempo de espera.

Tanto en PICBasic Pro como en Proton IDE, estas instrucciones si tienen la posibilidad de agregar este y otros argumentos, y cuando se cumple el tiempo establecido si no se han recibido datos, el programa continúa hasta la etiqueta definida en el argumento.

En Proton IDE tienen otros nombres; HRSIn y RSIn respectivamente.

Saludos.


----------



## Manunet (Mar 1, 2014)

Hola, yo utilizo mucho el Pic Simulator Ide y hace tiempo me encontré con ese problema, para solucionarlo, por lo menos con el Hserin, que es por hardware, lo que hago es utilizar interrupciones, cuando se recibe algún dato salta a la interrupción recogiendo el byte y almacenandolo en una variable.
Para el Serin, por software, lo que se me ocurrió fué utilizar un pin para saber cuando va a haber una transmision.

saludos


----------

