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条回答
chengying
1楼-- · 2019-12-23 21:45
 精彩回答 2  元偷偷看……
chengying
2楼-- · 2019-12-24 01:51
NemoGu 发表于 2012-6-12 15:27
调试助手会因为USB device断电而死掉 说明这个串口调试助手比较烂
上位机的出错处理不好 只是针对了232串口 ...

有好的调试助手?共享一个给我试试呀
chengying
3楼-- · 2019-12-24 03:43
chengying 发表于 2012-6-12 16:03
那就是cdc虚拟串口通信时,mcu复位导致串口死机问题完全可以靠上位机软件解决? ...

只要上位机软件能过处理pnp事件就可以了
NemoGu
4楼-- · 2019-12-24 09:10
chengying 发表于 2012-6-12 16:10
有好的调试助手?共享一个给我试试呀

串口调试助手 v3.2 (聂小猛) google 多的是

不过这个也没有pnp事件处理 除此之外 健壮性还是用过类似串口调试软件的里面比较好的
NemoGu
5楼-- · 2019-12-24 12:24
我总结一下:Windows把CDC/HID设备作为系统内置的支持。所以都是使用系统内置的驱动。这样的话,就无法使用libusb来控制。WindowsXP下,所有的USB设备都需要驱动,如果使用CDC驱动的话,就可以作为USB<==>串口设备使用,如果使用libusb生成的驱动的话,就可以使用libusb操作。也就是说上位机不写usb驱动就必须把cdc虚拟成串口,若用libusb自己写驱动就可以不当串口使用?
chengying
6楼-- · 2019-12-24 12:56
 精彩回答 2  元偷偷看……

一周热门 更多>