usb的cdc通信和hid通信

2019-12-21 12:10发布

用usb把从can总线收到的数据传到PC,系统对速度要求不是很苛刻。下位机我把cdc虚拟串口和hid通信都调通了。现在问题是选用哪种通信方式?在调试cdc虚拟串口时,调试助手会因为系统复位而死机,所以用cdc通信,若调试助手(上位机俺不懂,要招人来编)自己编写是否能解决串口死机?用hid也要自己编写上位机,不过它能完全实现即插即用,只要上位机不关掉,对系统断电再上电上位机都能恢复通信。在全速系统,hid和cdc每包都是64字节,速率hid最快也能到64K,够我们系统用,老板觉得cdc是通信类,应该用cdc通信比较合适,但虚拟成串口用,串口号不一定每次都一样,所以他让我看看cdc类是否可以不虚拟成串口而与下位机通信的例子?当然上位机界面我们会自己编写。哪位高手帮忙分析一下?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
54条回答
twitter
1楼-- · 2019-12-24 15:46
twitter 发表于 2012-6-12 17:40
CDC虽然有ms提供的一个驱动文件,不过xp系统默认是不带这个的吧?
我个人偏好使用HID,这样不仅xp能用,win ...

cdc虚拟串口有驱动文件,这个我在xp和win7都试过
chengying
2楼-- · 2019-12-24 18:34
chengying 发表于 2012-6-12 16:48
我总结一下:Windows把CDC/HID设备作为系统内置的支持。所以都是使用系统内置的驱动。这样的话,就无法使 ...

libusb-win32可以自动生成驱动 也不需要写驱动啊
只是需要用libusb-win32的API实现上位机程序就可以了
NemoGu
3楼-- · 2019-12-24 19:38
twitter 发表于 2012-6-12 17:40
CDC虽然有ms提供的一个驱动文件,不过xp系统默认是不带这个的吧?
我个人偏好使用HID,这样不仅xp能用,win ...

驱动文档usbser.sys XP/Win7 都是有的 用的话需要自己写一个inf文件就可以了
NemoGu
4楼-- · 2019-12-24 20:38
本帖最后由 chengying 于 2012-6-12 17:58 编辑
NemoGu 发表于 2012-6-12 17:54
驱动文档usbser.sys XP/Win7 都是有的 用的话需要自己写一个inf文件就可以了


搞晕了,我再跟你确定一下,就是用cdc通信时,可以抛掉虚拟串口概念,自己写一个上位机与从设备进行通信?
还有一点我程序原来虚拟串口通信,若上位机不是调试助手,我下位机软件要不要改?
chengying
5楼-- · 2019-12-25 02:37
 精彩回答 2  元偷偷看……
NemoGu
6楼-- · 2019-12-25 03:23
NemoGu 发表于 2012-6-12 17:54
驱动文档usbser.sys XP/Win7 都是有的 用的话需要自己写一个inf文件就可以了

这我知道的,以前做过。不过我的xp系统目录里就没有带这个驱动文件,需要从安装光盘里或者SP包里去提取的。

一周热门 更多>