cp2108 linux,如何将PyHANDLE对象传递给CP2108 dll函数(CP210运行时.dll)在Python中?

我需要使用Python控制CP2108芯片锁存器。

C#示例代码(来自制造商示例源):comString.Format(_T("\\\\.\\COM%d"), m_COMPort.GetCurSel() + 1);

//Open a handle the the device specified

HANDLE hDevice = CreateFile(comString,

GENERIC_READ | GENERIC_WRITE,

0,

0,

OPEN_EXISTING,

FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,

0);

//If the handle is valid, then it opened

if (hDevice != INVALID_HANDLE_VALUE)

{

WORD latch = 0;

//Read the latch

if (CP210xRT_ReadLatch(hDevice, &latch) != CP210x_SUCCESS)

{.....}

}

挖掘Python代码:

^{pr2}$

但我得到一个错误:Traceback (most recent call last):

File "D:/Dropbox/ElgsisTests/src/lib/cp210x/practise.py", line 27, in

cp201x_dll.CP210xRT_ReadLatch(h_device, ctypes.byref(lp_latch))

ctypes.ArgumentError: argument 1: : Don't know how to convert parameter 1

我试图传递ctypes整数,但我得到的锁存值为零。我想是因为这个CP210运行时.dll需要有关COM端口的信息。在

根据API手册:3.1. CP210xRT_ReadLatch

Description:

Gets the current port latch value from the device.

Supported Devices: CP2103, CP2104, CP2105, CP2108

Location: CP210x Runtime DLL

Prototype: CP210x_STATUS CP210xRT_ReadLatch(HANDLE Handle, LPWORD Latch)

Parameters: 1. Handle—Handle to the Com port returned by CreateFile().

2. Latch—Pointer for 4-byte return GPIO latch value [Logic High = 1, Logic Low = 0].

Return Value: CP210x_STATUS = CP210x_SUCCESS,

CP210x_INVALID_HANDLE,

CP210x_DEVICE_IO_FAILED

CP210x_FUNCTION_NOT_SUPPORTED

所以也许有人知道如何正确传递?在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值