python - RaspberryPi 在 Python 中循环定义 GPIO 回调
问题描述
我为每个 GPIO 明确定义了回调函数,它工作正常。然而,这对我来说有点像样板代码。因此,我只是有了在 for 循环中实现这个初始化的想法:
# Configure Switches:
T = [4,17,18,27,22,23,24,25,5,6]
for i in range(0,10):
GPIO.setup(T[i], GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.add_event_detect(T[i], GPIO.BOTH, callback=lambda x: OnButtonPress(i+1), bouncetime=300)
对于我按下的所有按钮,都会调用回调函数 OnButtonPress,但总是使用按钮 ID 10,与我按下的按钮无关。它接缝始终以 10 作为参数调用 lambda。我在这里做错了什么?
解决方案
推荐阅读
- javascript - 如何在odoo中实现recaptcha
- asp.net-core - 如何解决保单索赔?
- linux-kernel - 如何在 Linux 中设置串口以 PIO 模式(不是 DMA)运行
- laravel - Vagrant:多盒 laravel/宅基地。如何通过 macOS 命令行删除旧的?
- c# - join 子句中表达式之一的类型不正确 type interface failed in call to join
- regex - 如果字符串第一次出现点,则正则表达式匹配?
- pyspark - AWS EMR 中的 Spark 步骤因 exitCode 13 而失败
- android - 从另一个活动 onBackPressed 完成活动
- ruby-on-rails - 未定义的方法 'e=' 用于#
- c# - 如何在 Xamarin Android 上使用 C# 在 Document Start 处注入 Javascript