项目需要,需要通过usb接口,使得PC机与下位机Smart210开发板相连接,然后互相收发数据测试,只要实现收发如“123”文字内容即可。现在遇到几个问题
1、系统结构如何设置?应该usb host接口设备想要通信的话,需要有host及device,pc作为host,下位机在usb通信中应作为何种设备类型?
2、PC端有没有直接可用的USB收发测试软件?还是需要自己编程调用windows api 来实现数据读取?
------解决方案--------------------
1 单片机实现 USB 设备,常见的有 Mass Storage,HID,CCID 和 CDC。
* Mass Storage 可以实现 U 盘,CD-ROM 或者这种传输协议的 USB Key。 速度快。
* HID 也常用,鼠标、键盘或自定义的设备。速度慢。
* CCID 就是读卡器。速度较慢。
* CDC 子类繁多,最常见的是 USB 虚拟串口或 USB 转串口。这个主机端不需要实现 USB 访问,还用串口应用就行了。如果是 USB 虚拟串口,速度比真正串口要快。
2 有些网上可以下载到:
* Mass Storage 不太常见有可下载的测试界面。不过用 Bushound 软件的发送功能可以实现一部分通讯。
* HID 的测试界面可以下载,不过未必好用。
* CCID 由于标准严谨,随便下载一个读卡器应用端,一般都能用。
* CDC 的用串口精灵之类的软件即可。
当然,自己用 API 写是最好用了。不过,除 CDC 不用写以外,其他三种协议不同,API 接口也不同。你先确定做哪一种,再专门学习。
------解决方案--------------------
1 PC操作系统,是windows还是linux, 决定你的编程工作,有现成的测试usb软件
2PC肯定作为host,至于设备做成啥设备,看你需要,有磁盘的 有通讯的,模拟串口的。。。检测到 注册上了,pc端应该就能认出来。
------解决方案--------------------
之前有做过cdc类的,就是虚拟串口。据我发现除了虚拟串口外,还没有直接对USB发送数据的。