circuitpy的board模块类似于micropy的machine模块,保存有引脚信息,shell查询支持引脚如下
import board
dir(board)
>>> %Run -c $EDITOR_CONTENT
['__class__', '__name__', 'A0', 'A1', 'A2', 'A3', 'GP0', 'GP1', 'GP10', 'GP11', 'GP12', 'GP13', 'GP14', 'GP15', 'GP16', 'GP17', 'GP18', 'GP19', 'GP2', 'GP20', 'GP21', 'GP22', 'GP23', 'GP24', 'GP25', 'GP26', 'GP26_A0', 'GP27', 'GP27_A1', 'GP28', 'GP28_A2', 'GP3', 'GP4', 'GP5', 'GP6', 'GP7', 'GP8', 'GP9', 'LED', 'SMPS_MODE', 'STEMMA_I2C', 'VBUS_SENSE', 'VOLTAGE_MONITOR', 'board_id']
>>>
数字引脚的输入输出需要用到对应的digitalio模块,可以用来设置引脚输入/出状态,设置引脚初始状态,具体看下面例子
输出
import board
import time
from digitalio import DigitalInOut,Direction,Pull
# 自带led为25脚
pin =DigitalInOut(board.GP25)#设置引脚为数字引脚
pin.direction=Direction.OUTPUT#设置数字引脚模式为输出
while True :
pin.value=True#设置数字引脚高低电平,true为高
time.sleep(.5)#每0.5秒变化一次状态
pin.value=False
time.sleep(.5)
输入
import board
import time
from digitalio import DigitalInOut,Direction,Pull
# 板子自带按钮为24脚
pin =DigitalInOut(board.GP24)
# 设置为输入
pin.direction=Direction.INPUT
# 设置初始状态为高电平,按下后连通GND,使电平拉低,减小干扰
pin.pull=Pull.UP
# Pull.DOWN 设置初始为低电平
i=0
while True :
if not pin.value:
# 保证按下一次不会多次触发
while not pin.value:
pass
print(i)
i+=1
# 不支持自增自减
i%=10
time.sleep(.05)
注意,以上模块均为内置模块