Maix Bit K210定时器【保姆级教程】

上一篇 MaixPy IDE Maix Bit K210点灯

介绍

硬件定时器,可以用来定时触发任务或者处理任务,设定时间到了后可以触发中断(调用回调函数),精度比软件定时器高。 需要注意的是,定时器在不同的硬件中可能会有不同的表现。MicroPython 的 Timer 类定义了在给定时间段内(或在一段延迟后执行一次回调)执行回调的基本操作,不能移植到其他板)。

此板子共有 3 个定时器, 每个定时器有 4 个通道可以使用。

定时器常量

TIMER0: Timer0 id
TIMER1: Timer1 id
TIMER2: Timer2 id
CHANNEL0: Timer 通道 0
CHANNEL1: Timer 通道 1
CHANNEL2: Timer 通道 2
CHANNEL3: Timer 通道 3
MODE_ONE_SHOT: Timer 只运行一次(回调一次)
MODE_PERIODIC: Timer 始终运行(连续回调)
MODE_PWM: 定时器不用来回调函数,用以产生PWM
UNIT_S: 单位秒 (s)
UNIT_MS: 单位毫秒 (ms)
UNIT_US: 单位微秒 (us)
UNIT_NS: 单位纳秒 (ns)

使用方法

构造函数

tim = machine.Timer(id, channel, mode=Timer.MODE_ONE_SHOT, period=1000, unit=Timer.UNIT_MS, callback=None, arg=None, start=True, priority=1, div=0)

创造Timer对象

打开 MaixPy IDE,将以下代码复制并运行

from machine import Timer
from Maix import GPIO
from board import board_info
from fpioa_manager import fm
i = 0

#将将LED外部IO注册到内部GPIO,K210引脚支持任意配置
fm.register(12, fm.fpioa.GPIO0)
fm.register(13, fm.fpioa.GPIO1)
fm.register(14, fm.fpioa.GPIO2)

#构建LED对象,并初始化输出高电平,关闭LED
LED_B = GPIO(GPIO.GPIO0, GPIO.OUT,value=1)
LED_G = GPIO(GPIO.GPIO1, GPIO.OUT,value=1)
LED_R = GPIO(GPIO.GPIO2, GPIO.OUT,value=1)


def on_timer(timer):
    global i
    i = (i+1)%4
    if i == 0:
        LED_R.value(0)
        LED_G.value(1)
        LED_B.value(1)
        print("R")
    elif i == 1:
        LED_R.value(1)
        LED_G.value(0)
        LED_B.value(1)
        print("G")
    elif i == 2:
        LED_R.value(1)
        LED_G.value(1)
        LED_B.value(0)
        print("B")
    elif i == 3:
        LED_R.value(1)
        LED_G.value(1)
        LED_B.value(1)
        print("OFF")
        
tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PERIODIC, period=1000, callback=on_timer, arg=on_timer)

Maix Bit K210 MaixPy IDE定时器流水灯

此时可以看到板子上的RGB以1S的周期进行流水并熄灭。

下一篇 MaixPy IDE Maix Bit K210 人脸识别(内有获取机器码步骤)

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

动态比特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值