以编程方式创建数字.CircuitPython中的DigitalInOut对象



我试图在CircuitPython的一个类中创建一个digitalio.DigitalInOut对象。所使用的引脚被定义为类(pin_number)中的参数。除了exec(),还有别的方法吗?我的尝试如下,并且,正如您所看到的,它非常混乱(并且由于exec()和类的问题而无法工作)。

exec("self.pin = digitalio.DigitalInOut(board.GP"+str(pin_number)+")", globals(), locals())

在MicroPython中,我只是这样做:

self.pin = Pin(pin_number, Pin.OUT)

如果可能的话,我想用CircuitPython做一些类似的事情,这样我的主程序就可以与MicroPython或CircuitPython兼容,这取决于你从它导入的文件(我的主代码看起来像下面这样)。

b1 = led(pin_number=1)

使用getattr();例如,

self.pin = getattr(board, 'GP1')

最新更新