Lager, no pienses que no leí tu post por haber pasado tanto tiempo sin responder. Lo que sucede es que lo leí un poco apurado en su momento y pensé que no tenía solución y no lo mire mas.
Pero ahora que lo releo (estoy haciendo esa parte del código del teclado) me doy cuenta de que creo que nuevamente no nos entendemos...
El tema de los alias (llamar a un puerto de 2, 3 o 4 maneras) tiene otra razón que voy a volver a explicar de otra manera (a ver si ahora se me entiende).
Yo quiero hacer algo parecido a lo que hace INKEY pero sin estar limitado a 16 botones, entonces, vamos a hacer de cuenta que quiero sensar 2 botones nada mas para hacerla más facil.
Supongamos que tengo 2 botones que se conectan de la siguiente manera:
PORTC.0.............SW1..............PORTB.1................SW2..................PORTC.1
O---------------------/ ------------------O------------------- --------------------0
O sea que los 2 switchs tienen una pata en común con RB1 y los otros dos extremos se conectan a RC0 y RC1.
Ahora, para sensar los 2 botones hago:
HIGH PORTC.0
IF PORTB.0 = 1 THEN
HIGH LED1
ENDIF
HIGH PORTC.1
IF PORTB.0 = 1 THEN
HIGH LED2
ENDIF
Eso sería un multiplexaje para leer switchs. Eso mismo quiero hacer con el PORTC y el PORTB (8*8 =64)
Entonces pensé: que tal si uso BUTTON para esto?
El problema es que no ví ningún ejemplo con un PORTB.0 con 4 estados posibles!!!
PORTB.0 = 0 cuando PORTC.0 = 1
PORTB.0 = 1 cuando PORTC.0 = 1
PORTB.0 = 0 cuando PORTC.1 = 1
PORTB.0 = 1 cuando PORTC.1 = 1 (los 4 estados)
Como BUTTON va en un loop y como a medida que el loop avanza el estado del PORTC cambia no me puedo guiar por el valor del pin a secas porque al cambiar el boton sensado BUTTON se piensa que estoy leyendo el mismo pin que antes y lo toma como rebotes o pulsaciones sucesivas.
Entonces:
SYMBOL BOTON1 = PORTB.0
SYMBOL BOTON2 = PORTB.0
LOOP:
LOW PORTC
HIGH PORTC.0
BUTTON BOTON1, X, X, X, X, X, ETIQUETA1
LOW PORTC
HIGH PORTC.1
BUTTON BOTON2, X, X, X, X, X, ETIQUETA2
LOW PORTC
GOTO LOOP
Con esto pretendo conseguir engañar a BUTTON para que en boton1 no pierda la cuenta del antirrebote de boton1 al cambiar a boton2 y viceversa. Quiero que los trate como 2 pines distintos por esta razón.
Muchas gracias por tu tiempo...
(y espero tu respuesta... je je!)