DIRA, DIRB
– Referencia de Lenguaje Spin
del pin de E/S es el "cableado OR" del cog entero. Vea Pins E/S en la Pág. 26 para mas
información.
Esta configuración puede describirse fácilmente en las siguientes reglas:
A. Un pin es solo entrada si un cog no lo activa como salida.
B. Un pin es una salida si cualquier cog activo lo activa como salida.
Si se deshabilita un cog su registro de dirección se trata como si se limpiara a 0, ocasionando
que no se haga uso de su influencia en la dirección del pin E/S y el estado.
Note que debido a la naturaleza "wired-OR" de los pins de E/S no es posible una contención
eléctrica entre los pins, ellos pueden accesar los pins E/S simultáneamente. Depende del
desarrollador de la aplicación asegurar que no hay dos cogs ocasionando una contención
lógica en el mismo pin E/S durante el tiempo de ejecución.
Usando DIRA
Activa o limpia los bits en
DIRA := %00000000_00000000_10110000_11110011
El código de arriba active el registro
activa los pins E/S 15, 13, 12, 7, 6, 5, 4, 1 y 0 a salidas y el resto a entradas.
Usando los operadores unarios post-clear (
pins E/S a entradas o salidas respectivamente; sin embargo no es usual o deseado activar
todos los pins E/S a salidas. Por ejemplo:
DIRA~
entradas)
—y—
DIRA~~
El primer ejemplo de arriba limpia el registro entero
todas las E/S de P0 a P31 son entradas. El segundo ejemplo activa el registro
32 bits al mismo tiempo); todas las E/S de P0 a P31 son salidas.
Para afectar solo un pin de E/S (un bit), incluya el campo del pin(s) opcional. Esto trata al
DIRA
registro
como un arreglo de 32 bits.
DIRA[5]~~
Pagina 108 · Manual Propeller v1.1
DIRA
afectando la dirección deseada de los pins E/S. Por ejemplo:
DIRA
(los 32 bits al mismo tiempo) para un valor que
~
) y post-set (
'Limpia registro DIRA (todas E/S son
'Activa registro DIRA (todas E/S son salidas)
'Bit 5 de DIRA (P5 a salida)
~~
), el cog puede activar todos los
DIRA
a cero (los 32 bits al mismo tiempo)
DIRA
a unos (los