import time
from machine import Pin as RealPin
from bit74hc595 import SR74HC595
from bit74hc595 import Pin
data_pin = RealPin(2, RealPin.OUT) # data LDSI 串行数据输入口
clock_pin = RealPin(16, RealPin.OUT) # clock LDSCK 串行时钟信号端口
latch_pin = RealPin(4, RealPin.OUT) # latch LDSTR 并行数据输出控制端口
# LDEN, 芯片使能管脚,为高时:所有并行输出口为高阻态。
# 为低时:芯片使能。也可以把该管脚直接接地或者焊接电阻R1。
sr = SR74HC595(clock_pin, data_pin, latch_pin, 3)
p0: Pin = sr.pin(0)
sr.reset_all_bit(0)
print(p0())
# p0_value = 0b00000001
# p1_value = 0b00000011
# v = p0_value
# v |= p1_value << 8
# v = ~v
# print(f"{v:0b}")
# sr.set_all(v)
print(p0.value(0))
# while True:
# p0.high()
# time.sleep(1)
# p0.high()
# time.sleep(1)