K210定时器中断

K210定时器中断

目的:用定时器中断让蓝灯每1s闪烁一次
步骤如下:

  1. 导入相关模块,包括Maix的GPIO,fpioa_manager的fm,machine的Timer
  2. 编写回调函数
  3. 设置Timer的相关参数

两种方式可以实现:
方式1.

from Maix import GPIO
from fpioa_manager import fm
from machine import Timer

#注册IO和构建LED对象
fm.register(12,fm.fpioa.GPIO0)
LED_B=GPIO(GPIO.GPIO0,GPIO.OUT)

#led的状态

state=1



#设置回调函数
def fun(time):
    global state
    state=not state
    LED_B(state)
    
#设置定时器的参数
time=Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PERIODIC,
period=1000, callback=fun)

至此,可以实现蓝灯每一秒闪烁一次的功能,而教材的程序如下:
方式2.

from Maix import GPIO
from fpioa_manager import fm
from machine import Timer

#注册IO和构建LED对象
fm.register(12,fm.fpioa.GPIO0)
LED_B=GPIO(GPIO.GPIO0,GPIO.OUT)

#计数变量
Counter=0
#定时器回调函数
def fun(tim):
    global Counter
    Counter = Counter + 1
    print(Counter)
    LED_B.value(Counter%2)#LED 循环亮灭
    
#设置定时器的参数
time=Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PERIODIC,
period=1000, callback=fun)

可以看出差别有两处:

  1. 采用计数的方式,并把计数打印出来,以便记录闪烁次数
  2. 利用计数次数实现01切换,Counter%2,计数除以2的余数。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
K210是一款由中国芯片设计公司寒武纪(Kendryte)推出的低功耗、高性能的人工智能处理器。它具有强大的计算能力和丰富的外设接口,适用于物联网、机器人、智能家居等领域的开发。 在K210上使用Python进行串口中断编程,可以通过使用`machine.UART`模块来实现。下面是一个简单的示例代码: ```python import machine def uart_interrupt_handler(uart): # 处理串口中断事件的回调函数 if uart.any(): data = uart.read() # 处理接收到的数据 print("Received data:", data) # 初始化串口对象 uart = machine.UART(1, baudrate=115200, rx=8, tx=9) # 设置串口中断回调函数 uart.irq(handler=uart_interrupt_handler, trigger=machine.UART.RXNE) # 主循环 while True: pass ``` 在上述代码中,我们首先导入了`machine`模块,然后定义了一个名为`uart_interrupt_handler`的回调函数,用于处理串口中断事件。在回调函数中,我们通过`uart.any()`方法检查是否有数据可读,如果有则使用`uart.read()`方法读取数据,并进行相应的处理。 接下来,我们创建了一个`UART`对象,并通过指定参数来初始化串口,包括波特率、接收引脚和发送引脚。然后,我们使用`uart.irq()`方法设置了串口中断的回调函数和触发条件,这里我们选择了接收缓冲区非空时触发中断。 最后,我们进入主循环,通过`while True`保持程序的运行,等待串口中断事件的发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值