请问下面python代码怎么样用定时器函数代替time.sleep()函数,其中的callback要怎么设才合理

#哔1次,时长作为参数传递
def beep(seconds):
PIN_Beep.value(0)
time.sleep(seconds)
PIN_Beep.value(1)

#哔N次,时长、间隔时长、重复次数作为参数传递
def beepAction(secs, sleepsecs, times):
for i in range(times):
beep(secs)
time.sleep(sleepsecs)

在回调函数中,创建定时器并启动,形成递归调用。参考代码见:
https://zhuanlan.zhihu.com/p/32094690