Code: Select all
import time
from stm import *
def set_bout():
moderval = mem32[GPIOB + GPIO_MODER]
moderval &= 0x0000FFFF
moderval |= 0x55550000
mem32[GPIOB + GPIO_MODER] = moderval
otyper = mem16[GPIOB + GPIO_OTYPER]
otyper &= 0xFF
mem16[GPIOB + GPIO_OTYPER] = otyper
ospeedr = mem32[GPIOB + GPIO_OSPEEDR]
ospeedr |= 0xFFFF0000
mem32[GPIOB + GPIO_OSPEEDR]= ospeedr
def set_cin():
mem16[GPIOC + GPIO_MODER] = 0
mem16[GPIOC + GPIO_OSPEEDR]= 0xFFFF
# @micropython.viper
def run(t, d_us):
val_8bits = mem8[GPIOB + GPIO_ODR]
d = []
for i in t:
mem16[GPIOB + GPIO_ODR] = (i << 8) | val_8bits
time.sleep_us(d_us)
d.append(mem8[GPIOC + GPIO_IDR])
return d
set_bout()
set_cin()
test = [0x10, 0x20, 0x30, 0x40]
d = run(test, 5)
print(d)