pyboard回调控制LED灯

Richardno_420 2022-06-11626 次点击
这是我按键控制板载LED的程序
```
import pyb
sw = pyb.Switch()
def f():
pyb.LED(4).toggle()
sw.callback(f)
```
但是运行会报错
'Switch' object has no attribute 'callback'
我刚学,不知道怎么解决。求指点
收藏 ♥ 感谢
Spoony 小组长 2022-06-11 
官方的代码是这样的,试试看呢

from pyb import Switch

sw = Switch()
sw.value() # returns True or False
sw.callback(lambda: pyb.LED(1).toggle())

https://micropython.nxez.com/docs/micropython/en-us/pyboard/quickref.html#internal-switch
RaspiSQH 117.65m 2022-06-11 
你截图看看 怀疑多加了个空格
Richardno_420 2022-06-12 
@Spoony
https://ppmm.org/image/qA1J
我在上网课,是在网站MicroPython实验室做的,板子是pybv1.1,按你提供的代码也是一样的报错
Richardno_420 2022-06-12 
@RaspiSQH
https://ppmm.org/image/qKqF
第一次用,不知道有人回复了,抱歉,劳烦你看看截图吧,我在家上网课,是在网站MicroPython实验室做的
Spoony 小组长 2022-06-12 
查了一下原因,是因为在线仿真不支持 callback
要实现同样的功能需要参考这个示例:



https://micropython.nxez.com/unicorn/

而在实体开发板上,使用 1.9.1 版本以上的固件是可以用 callback 的。
Richardno_420 2022-06-12 
@Spoony 好的,谢谢你

登录注册 后可回复。