中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
比如, 你一直在写作业,突然写不下去,跑去看会手机,回来继续写作业,这就是中断。
# 定时器控制例子
#
# 这个例子展示了如何使用回调函数和定时器
import time
from pyb import Pin, Timer
def tick(timer): # we will receive the timer object when being called
print("Timer callback")
tim = Timer(4, freq=1) # create a timer object using timer 4 - trigger at 1Hz
tim.callback(tick) # set the callback to our tick function
while (True):
time.sleep(1000)
下面灯的频率和主函数那里没有冲突,保持一定
import pyb,time
tim = pyb.Timer(4) # create a timer object using timer 4
# 定义Timer对象 timer4
tim.init(freq=4) # trigger at 2Hz
# 设定频率为2Hz
while True:
tim.callback(lambda t:pyb.LED(1).toggle()) # 设定定时器的回调函数为LED闪烁(关/开)
time.sleep(1000)
print(1111)
time.sleep(2000)
print(2222)
其实把它放回上面也可以的喔
import pyb,time
tim = pyb.Timer(4) # create a timer object using timer 4
# 定义Timer对象 timer4
tim.init(freq=4) # trigger at 2Hz
# 设定频率为2Hz
tim.callback(lambda t:pyb.LED(1).toggle()) # 设定定时器的回调函数为LED闪烁(关/开)
while True:
time.sleep(1000)
print(1111)
time.sleep(2000)
print(2222)
定时器例子:使用两个定时器
import pyb,time
tim_3 = pyb.Timer(3) # create a timer object using timer 4
tim_3.init(freq=2) # trigger at 2Hz
tim_4 = pyb.Timer(4)
tim_4.init(freq=1)
def led_blink(timer):
pyb.LED(1).toggle()
def hand_reset(timer):
print('手臂复位')
tim_4.callback(led_blink)
while True:
a=1
if a==1:
tim_3.callback(hand_reset)
这个应该比较清楚定时器作用:
import pyb,time
tim_3 = pyb.Timer(3) # create a timer object using timer 4
tim_3.init(freq=2) # trigger at 2Hz
tim_2 = pyb.Timer(4)
tim_2.init(freq=1/30)
i=0
def jishi(Timer):
print('时间计时半分钟')
def led_blink(timer):
pyb.LED(1).toggle()
def hand_reset(timer):
print('手臂复位')
tim_3.callback(led_blink)
tim_2.callback(jishi)
while True:
time.sleep(1000)
i+=1
print(i)
s=i%60
if s==0:
print('1秒到了')