我正在使用python3.7和pythonnet版本:2.4.0,并且我使用的是C#dll,原型是
bool = Read(byte, byte, byte, ref byte[], ref string)
我使用ctypes,但始终显示TypeError:没有方法匹配给定的Read参数 相同的代码可以在Python2.7和pythonnet 2.0.0中运行 我应该在哪里修改,非常感谢。
Read(0xB0, 0, 1, [], "")
我尝试过:
data_array = ctypes.c_byte * 1
Read(0xB0, 0, 1, data_array, "")
或
data_array = ctypes.pointer((ctypes.c_byte * 1)())
Read(0xB0, 0, 1, data_array, "")
但是它仍然显示TypeError:没有方法匹配给定的Read参数。
答案 0 :(得分:0)
我在下面尝试过并且有效
import clr
from System import *
from System import Array
slave_addr = Byte(0xB0)
data_addr = Byte(0x21)
bytes_to_read = Byte(0x02)
data_array = Array[Byte]([0] * 2)
script_view = String("")
Read(slave_addr, data_addr, bytes_to_read, data_array, script_view)