from machine import Pin
import time
# configurnado pines de salida
pin_out= [11,10,9,8,7,6,5,4,3,2]
#configurnado pines de entrada
pin_in = [19,18,17,16]
#configurnado los pines
# Creando una lista de objetos Pin configurados como salida
sal = [Pin(p, Pin.OUT) for p in pin_out]
# Creando una lista de objetos Pin configurados como entrada
# cada entrada (se asume conectado a GND con resistencia pull-up interna)
ent = [Pin(p,Pin.IN, Pin.PULL_UP) for p in pin_in]
def salp(datos):
ii=512
cbin =""
ind=0
for pins in pin_out:
if ((datos & ii) !=0):
sal[ind].value(1)
cbin=cbin+"1"
else:
sal[ind].value(0)
cbin=cbin+"0"
ii=ii>>1
ind=ind+1
return cbin
def entp():
ii=8
cbin =""
num=0
ind=0
for pins in pin_in:
if (ent[ind].value() ==0):
num=num | ii
cbin=cbin+"1"
else:
cbin=cbin+"0"
ii=ii>>1
ind=ind+1
return num,cbin
print ("ejemplo de GPIO i/O")
while True:
numero,cnumero=entp()
cadena=salp(numero)
print(numero,"=",cnumero,"=",cadena)