This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好!
我正在尝试使用 python 和 windows 编写命令、目标是加载一些预设选项、并在运行其他程序时在它们之间切换。
我曾使用 device.set_raw_data_handler(data_received)-并尝试通过 TICS PRO 软件来写入器件、并记录了相关数据。
这是我的程序的一部分、在此示例中、OUT0应处于关闭状态、
写入地址0x07
Data:0x6501以关闭
默认数据为0x6503:
将 pywinusb.hid 导入 hid
#您设备的供应商 ID 和产品 ID
VID = 0x2047
PID = 0x301
#设备的 I2C 地址
I2C_ADDRESS = 0x69
Report_ID = 0x00
#找到设备
过滤器= hid。 HidDeviceFilter (vendor_id=PID VID、product_id=PID)
devices = filter.get_devices ()
如果器件:
设备=设备[0]
device.open()
device.set_raw_data_handler(data_received)
报告= device.find_output_reports()
TOFF =[63、10、84、43、2、 2、0、31、0、7、 101、1、0、1、0、 0、1、0、0、0、 0、0、0,128,101、 3、62,150、48,255、 4240、0、0232、 0,133,202,169、93、 2、53,217、94、8、 220,130、15,217、43、 72、59,143,158、89、 144、93,124、4、27、 0、0、0、16]
device.send_output_report(Toff)
我不会收到任何错误、但写入不起作用。 无法找到任何 用于理解命令结构的文档 API。
感谢您帮助了解该结构、或如何正确设置 TICS PRO 的命令/加载导出值
Orel
在使用 USB2ANY 写入 RAW 数据包之前、您是否已成功通过 TICS Pro 软件写入器件并对其进行读取? LMK3H0102可在 I2C 接口未激活的 OTP 模式下运行。
谢谢!
Kadeem
将原始 HID 数据包写入 USB2ANY 会使其变得比所需困难得多。 据我所知、我们从未发布过有关 HID 命令结构的文档。 如果必须这样做、我可以挖一些旧的 python 示例代码来演示如何结构 USB2ANY HID 数据包。 这是可以做到的,但我强烈建议反对。
更简单的方法是包装 TICS Pro 中包含的 USB2ANY DLL。 请参阅 此处的 示例代码、此示例代码演示如何包装 DLL 以及与 API 通信的基础知识(使用 SPI 示例、但是打开/关闭和查找控制器以及缓冲 I/O 的典型结构应该适用于 I2C)。 此处的 USB2ANY SDK 包括 DLL 功能的 API 手册。 由于可能会出现重复的启动事务、I2C 在概念上比 SPI 困难得多、因此可能需要查看的函数是 u2AI2C_Configure、u2C_InternalRead 和 u2aI2C_InternalWrite。
其他值得注意的事项:
——
现在有一个单独的问题:这一切都不使用 TICS Pro。
TICS Pro 还将 USB2ANY DLL 绑定在引擎盖下(在 C#中)、并具有一个通过 API 输入实现寄存器和数据抽象层、从而简化通信。 TICS Pro 实际上包含一个单独的套接字服务器自动化选项、客户端服务器预先用 python 语言编写以供使用。如果您希望在自动化时保持应用程序打开状态并使 GUI 可用-我们通常在内部执行此操作、因为这可以让我们非常快速地直观地检查其他状态、并且由于某些操作需要比在 GUI 中多次点击更长的时间来实现自动化。 我们来看看 C:\Program Files (x86)\Texas Instruments\TICS Pro\SDK TICSProTCP.py 中的客户端代码-可以将此文件复制到 python 路径或工作目录中、并使用它来在现场抽象层(属于特定函数的寄存器映射中的一个或多个跨度)、而不是寄存器或原始字节级别。
我找到了 C:\Program Files (x86)\Texas Instruments\TICS Pro\TICSProTCP.py 并使用它。
不是我想要的,因为我依赖于 TICS Pro 安装,但它是有效的。
谢谢!