我试图在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')