“创建对绑定方法的引用时,就会发生对象创建的实例”

时间:2018-06-20 15:48:45

标签: python micropython

  

[创建对绑定方法的引用时,会创建对象的实例。这意味着ISR无法将绑定方法传递给函数。一种解决方案是在类构造函数中创建对绑定方法的引用,并在ISR中传递该引用。例如:] [1]

class Foo():
    def __init__(self):
        self.bar_ref = self.bar  # Allocation occurs here
        self.x = 0.1
        tim = pyb.Timer(4)
        tim.init(freq=2)
        tim.callback(self.cb)

    def bar(self, _):
        self.x *= 1.2
        print(self.x)

    def cb(self, t):
        # Passing self.bar would cause allocation.
        micropython.schedule(self.bar_ref, 0)

为什么在注释说明的地方进行分配?

0 个答案:

没有答案