用户灯¶
例程讲解¶
该例程在 例程的xxx ,可以在 CanMV IDE
中打开
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import time
from maix import GPIO
from fpioa_manager import fm
from board import board_info
fm.register(board_info.USER_LED, fm.fpioa.GPIOHS1, force=True)
led = GPIO(GPIO.GPIOHS1, GPIO.OUT)
status = 0
for i in range(0, 20):
led.value(status)
time.sleep_ms(300)
status = 0 if (status == 1) else 1
fm.unregister(board_info.USER_LED)
|
实验准备¶
将
野火K210 AI视觉相机
连接到CanMV IDE
执行程序
程序分析¶
1 2 3 4 | import time
from maix import GPIO
from fpioa_manager import fm
from board import board_info
|
import time
: 导入Python的时间模块,用于实现延时功能。from maix import GPIO
: 从maix模块导入GPIO类,用于控制通用输入输出。from fpioa_manager import fm
: 导入fpioa_manager模块中的fm对象,用于管理管脚映射。from board import board_info
: 从board模块导入board_info对象,其中包含了开发板的相关信息。
1 2 | fm.register(board_info.USER_LED, fm.fpioa.GPIOHS1, force=True)
led = GPIO(GPIO.GPIOHS1, GPIO.OUT)
|
fm.register(board_info.USER_LED, fm.fpioa.GPIOHS1, force=True)
: 将用户LED灯对应的管脚映射到GPIOHS1(高速度GPIO)。led = GPIO(GPIO.GPIOHS1, GPIO.OUT)
: 初始化GPIOHS1管脚作为输出,并创建一个名为led的GPIO对象。
1 2 3 4 5 | status = 0
for i in range(0, 20):
led.value(status)
time.sleep_ms(300)
status = 0 if (status == 1) else 1
|
status = 0
: 初始化LED状态为关闭。for i in range(0, 20):
: 开始一个循环,循环20次。led.value(status)
: 将LED的状态设置为status变量指示的状态。time.sleep_ms(300)
: 让程序暂停300毫秒,使LED保持当前状态一段时间。status = 0 if (status == 1) else 1
: 更新status变量,如果当前LED是亮的(status为1),则将其设置为0(灭),反之亦然。
1 | fm.unregister(board_info.USER_LED)
|
fm.unregister(board_info.USER_LED)
: 循环结束后,注销用户LED的管脚映射,释放资源。