Hola amigos !
Estoy teniendo un inconveniente con la instrucción SERIN.
Estoy usando un PIC16F876A y Protón +
Y obviamente el GTB USB +
Tengo hecho en parte de un progama extenso, una conexión con la PC vía RS 232 y con el comando SEROUT no tengo ningún problema.
Estoy usando :
SEROUT TX,84, [" ",DEC1 T," ",DEC1 H," "]
y todo vá de perlas. Me entrega los datos que le pido y los veo en la compu sin problemas, en el momento deseado.
Ahora bien; cuando voy a usar SERIN, se me provoca un cuelgue en el funcionamiento del PIC y se "para" , se detiene, todo el proceso.
Estoy usando esta sintaxis:
LEER:
SERIN RX, 84, [MEM]
IF MEM = "A" THEN GOSUB LEOMEM
RETURN
Desde un momento del bucle principal, llamo a la subrutina LEER, luego con SERIN debiera recibir vía RS232 un dato que guardaría en la variable [MEM].
Si el dato recibido fuese la letra "A" saltaría a otra subrutina (LEOMEM) y sino es esa letra, volvería al bucle principal con el RETURN
MEM es una variable BYTE.
Para salir a la PC uso RA4 sin problemas, para entrar al PIC desde la PC uso RA5.
RA0 y RA1 son entradas analógicas y RA2 es salida digital.
Por lo tanto tengo declado al principio del programa
TRISA = %00100011
ADCON1 = %10000100
CMCON = %00000111
Pero al llegar a la línea del SERIN , se detiene todo.
He corroborado que es en esa línea mi problema, usando indicaciones en el LCD que tiene el sistema, escribiendo tonterías en lineas previas y posteriores y de esa forma he confirmado que llega hasta ahí y se detiene.
RA5 estaba siendo usada como salida digital y funcionaba OK. Levanto la conexión desde el MAX232, por posible problema en el mismo y sigo teniendo el mismo problema.
También tengo declaradas al principio
DIM TX AS PORTA.4
DIM RX AS PORTA.5
En qué me estoy equivocando ?
Qué se me está escapando ?
Tengo otra forma en Protón de detectar el pulsar de una tecla, para activar un proceso ?
Estoy trabado.
Desde ya les agradezco la lectura de este post y la posible ayuda que me puedan brindar.
Saludos
Mario