from machine import Pin, mem32
from utime import sleep
SIO_BASE = 0xd0000000
GPIO_OUT = 0x010
GPIO_OUT_SET = 0x014
GPIO_OUT_CLR = 0x018
GPIO_OUT_XOR = 0x01c
FIRST_GPIO = 0
def gpio_out(value):
mem32[SIO_BASE + GPIO_OUT] = value << FIRST_GPIO
def gpio_out_set(value):
mem32[SIO_BASE + GPIO_OUT_SET] = value << FIRST_GPIO
def gpio_out_clr(value):
mem32[SIO_BASE + GPIO_OUT_CLR] = value << FIRST_GPIO
def gpio_out_xor(value):
mem32[SIO_BASE + GPIO_OUT_XOR] = value << FIRST_GPIO
for i in range(8):
Pin(i, Pin.OUT)
gpio_out(0b00001111)
sleep(1)
gpio_out(0b11110000)
sleep(1)
gpio_out_set(0b00001111)
sleep(1)
gpio_out_clr(0b10101010)
sleep(1)
while True:
gpio_out_xor(0b11111111)
sleep(1)