Board
本文档在 MaixPy 0.5.1-128 版本测试通过。
这是一个 MaixPy 板级配置模块,它可以在用户层统一 Python 代码,从而屏蔽许多硬件的引脚差异。
效果如下:
from Maix import GPIO
from fpioa_manager import fm
from board import board_info
print(board_info.LED_R)
fm.register(board_info.LED_R, fm.fpioa.GPIO0, force=True)
led_r = GPIO(GPIO.GPIO0, GPIO.OUT)
led_r.value(0)
而这份代码同时支持 MaixPy 所有硬件运行,并且打印的 board_info.LED_R 都不尽相同,通过它保证示例代码的一致性。
board 的配置方法
将以下链接对应的 python 代码复制出来(如 config_maix_bit.py),放到 IDE 编辑框中运行,即可完成对『你的硬件』配置项(config.json)的导入,它会在 flash 上存储该配置文件。
运行配置代码后会自动重启,此时代码中才可以调用 board_info.BOOT_KEY , 实际上 board_info.BOOT_KEY 就是指 IO 16 ,对应的定义在 config.json 中可以得知,如果不存在的资源将会报错,如没有 LED 定义的硬件,运行 LED 点亮的时候就会报错。
from board import board_info
# see board/readme.md to config your sipeed's hardware.
print(board_info.BOOT_KEY, board_info.BOOT_KEY == 16)
Maix Bit
Maix Dock
Maix Go
Maix Duino
Maix Cube
Maix Amigo
Maix Nano
这个没有硬件外设.....所以不要问为什么没有它的配置代码了。
创建你的专属硬件
你可以借助该接口代码适配你的硬件,配置方法参考 MaixPy_scripts/board 里面有供你参考的配置文件。
board 的使用方法
导入配置:
from board import board_info
board_info.load({
'PIN10': 10,
'BOOT_KEY': 16,
'WIFI_TX': 6,
'WIFI_RX': 7,
'WIFI_EN': 8,
})
print('PIN10:', board_info.PIN10)
print('BOOT_KEY:', board_info.BOOT_KEY)
print('WIFI_TX:', board_info.WIFI_TX)
print('WIFI_RX:', board_info.WIFI_RX)
print('WIFI_EN:', board_info.WIFI_EN)
调用结果:
PIN10: 10
BOOT_KEY: 16
WIFI_TX: 6
WIFI_RX: 7
WIFI_EN: 8
就这样。