您好,我尝试使用 FTDI 库对 EEPROM FTDI 进行编程 -> https://github.com/snmishra/ftd2xx/blob/master/ftd2xx/ftd2xx.py和 D2XX FTDI Programming Guide
def eeProgram(self, progdata=None, *args, **kwds):
if progdata is None:
progdata = _ft.ft_program_data(**kwds)
progdata.Signature1 = _ft.DWORD(0)
progdata.Signature2 = _ft.DWORD(0xffffffff)
progdata.Version = _ft.DWORD(2)
call_ft(_ft.FT_EE_Program, self.handle, progdata)
return None
我创建了 FTD2XX(Object) 实例
handler = _ft.FT_HANDLE()
call_ft(_ft.FT_Open, 0, c.byref(handler))
device = FTD2XX(handler)
并调用函数eeProgram
device.eeProgram(0,0xffffffff,2,"FTDI","FT")
device.close()
之后我得到了错误:
Traceback (most recent call last):
File "ftd2xx.py", line 678, in <module>
device.eeProgram(0,0xffffffff,2,"FTDI","FT")
File "ftd2xx.py", line 573, in eeProgram
progdata.Signature1 = _ft.DWORD(0)
AttributeError: 'int' object has no attribute 'Signature1'
我可以通过 python 连接设备并与其通信,但该功能不起作用。有人知道我应该做什么来对具有该功能的设备进行编程吗?
最佳答案
如错误消息所示:progdata 是一个 int
。
device.eeProgram(0,0xffffffff,2,"FTDI","FT")
eeProgram 的第一个参数是 progdata,它显然是一个 int,而不是可能具有方法或属性 Signature
的类。
警告:第一个参数是 0
,因为 device
是函数定义中的 self?
参数。
因此,您需要将 0
更改为 eeProgram
所属方法的任何类的类实例。
关于python - 'int'对象没有属性python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47767973/