想寻找一款易用的USB->GPIO芯片,希望无论是在Win还是Linux都是免驱动的
不知WCH是否有相应的产品推荐?谢谢
想寻找一款易用的USB->GPIO芯片,希望无论是在Win还是Linux都是免驱动的
不知WCH是否有相应的产品推荐?谢谢
您好,您可查看我司CH347,支持8路GPIO,在工作模式2下使用系统HID驱动来实现GPIO的控制。
参考资料:
技术手册:https://www.wch.cn/downloads/CH347DS1_PDF.html
开发资源:https://www.wch.cn/downloads/CH347EVT_ZIP.html
谢谢回复
请问CH347的评估板的购买渠道有哪些?
根据数据手册描述
“工作模式 2:HID 免装驱动程序模式三合一,USB 转高速单串口、USB 转 2 线 I2C 和 USB 转 4 线 SPI 同步串行接口。在计算机上识别为 2 个自定义 HID 接口的类复合设备(接口 0 用于串口数据的上 传和下传,接口 1 用于 2 线和 4 线同步串行接口通信),适用于同时使用串口及 2 线或 4 线同步串行 接口且不方便安装厂商驱动的需求。串口 1 支持部分 MODEM 信号,支持硬件流控,支持 RS485 串口收 发使能控制。4 线同步串行接口支持模式(模式 0/1/2/3)、数据位数(8 位/16 位)、数据顺序(MSB/LSB) 等配置。”
工作模式2条件下,管脚并没有GPIO功能,这应该如何理解呢?
同时手册表4.5中关于复用管脚功能描述也未涉及GPIO功能
您好,在模式1/2下仍可以使用我司CH347接口库对GPIO进行操作,但需注意部分GPIO是与SPI、I2C接口功能引脚重合的,故在正常使用接口功能时需避免影响功能引脚的正常工作。
开发资料下载地址:https://www.wch.cn/downloads/CH347EVT_ZIP.html
资料中包含开发所需接口库、API说明、评估板使用说明、参考设计以及Windows Demo工程源码等文件,关于我司CH347评估板购买可与我司销售部门同事沟通:https://www.wch.cn/services/sale_support.html
请问在工作模式2下,是否只能通过CH347EVT\EVT\TOOLS\CH347Demo\ExternalLib文件夹中的CH347DLL文件,调用其中的API函数才能够get/set GPIO管脚状态?
如何将CH347作为通用HID设备,通过HIDAPI来操作呢?
您好,建议直接使用我们接口库来操作使用,比较易用,若您使用HIDAPI来操作会增加开发负担。
CH347的模式2本身提供了一种免驱动的工作模式,这样做的主要目的是用户应用程序可以不依赖芯片厂家提供的驱动代码。但是如果要求用户在应用操作层面依旧依赖芯片厂家的库文件,这种依赖问题就仍然没有得到彻底解决。
HID模式的初衷被违背了。
希望厂家针对HID模式能够提供依赖HIDAPI的操作指引,提供给用户更多的开发方案选择,谢谢
您好,CH347芯片工作在HID驱动免驱模式下,可实现操作系统下无需手动安装驱动,在此模式下访问设备均是通过系统标准HID API接口函数实现的。
我司提供的DLL动态库和函数实质上是基于HID API的二次封装,其目的是给客户提供封装好的简单易用的接口,无需了解芯片底层厂商协议,提高开发效率。
若您在开发和使用过程中遇到使用问题,可随时与我们工程师邮件或电话沟通。感谢您的支持。
经查,CH347模式2下report descriptor解码内容如下
0x06, 0xA0, 0xFF, // Usage Page (Vendor Defined 0xFFA0)
0x09, 0x01, // Usage (0x01)
0xA1, 0x01, // Collection (Application)
0x09, 0x01, // Usage (0x01)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x35, 0x00, // Physical Minimum (0)
0x45, 0x00, // Physical Maximum (0)
0x65, 0x00, // Unit (None)
0x55, 0x00, // Unit Exponent (0)
0x75, 0x08, // Report Size (8)
0x96, 0x00, 0x02, // Report Count (512)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0x02, // Usage (0x02)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x09, 0x03, // Usage (0x03)
0x95, 0x40, // Report Count (64)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC1, 0x00, // End Collection
// 40 bytes
以上解码内容是否准确?
"我司提供的DLL动态库和函数实质上是基于HID API的二次封装,其目的是给客户提供封装好的简单易用的接口,无需了解芯片底层厂商协议,提高开发效率。"
请问该DLL动态库是否开源?如果未开源,希望开源,这样更有利于用户充分利用CH347的特性,谢谢
您好,DLL动态库当前并未开源,若您有具体开发需求可与我司技术人员单独沟通。
该动态库是否有兼容linux的版本,即.so文件?
您好,Linux接口库可邮件至我司技术邮箱获取tech@wch.cn