我知道,这可能是一个非常简单的问题,但无论我经历了多少次,这都没有任何意义。我做了一个非常简单的课程,用于控制基于Arduino的汽车。我进行了设置,以便serialOut函数返回一个字符串,其中包含必要的格式以通过串行发送。但是,每当我使用它时,我都会收到此错误:
# Drive Communication System import serial def output(speed,steer,orientation): return ('%02d' % speed) + ('%02d' % steer) + (orientation) class DriveTrain: def __init__(self,serial,cruise_speed = 60, turn_sensitivity = 1): self.serialOut = '0045s' self._cruise = cruise_speed self._trim = turn_sensitivity self._speed = 0 self._steer = 0 self._orientation = 's' def Drive(self,speed, steer = 0, orientation = 's'): self._steer = steer + 45 self._speed = speed self._orientation = orientation def stop(self): self._steer = 45 self._speed = 0 self._orientation = 's' def status(self): return (self._speed,self._steer - 45,self._orientation) def serialOut(self): return output(self._speed,self._steer,self._orientation) if __name__ == '__main__': ser = serial.Serial('COM3',38400) car = DriveTrain(ser) car.Drive(60) #car.Drive(60)
这是该类的代码:
NSURLComponents
最初,我在实际的serialOut类函数中有输出函数当前的操作,但同样的事情发生了。我还附上了一张图片,显示了我如何检查每个操作,但由于某种原因,它仍然无法正常工作。我显然错过了一些简单的东西,但对于我的生活,我只是无法弄清楚它是什么......
答案 0 :(得分:1)
在__init__
中,您有:
self.serialOut = '0045s'
这具有覆盖serialOut
方法的效果(因为它已分配给每个类实例)。只需删除作业(或使用其他名称)。