我用友坚的6410开发板调试了一个USB function驱动,想利用这个驱动通过usb接口向主机发送数据。写了一个简单的应用程序,利用writefile函数发送数据。我传输的端点用的是中断端点1。结果发现只能传输第一次调用writefile发的数据,后面调用writefile传的数据主机都没有接收到,只是在调试驱动的打印信息里有调用传输的函数。用USB hound抓包也只能抓到第一次传的。
还有一点奇怪的是在第一次传输数据中,打印信息里有显示设备接收到主机发送的一个out 令牌包,后面没发过去的传输中没有这个包。
想向大家请教如下问题:
1、怎么解决如上所述的问题,实现数据的多次发送?利用端点1传输完数据,还需要进行哪些设置吗?
2、Transfer、PIPE在数据传输过程中起到的作用是什么?
3、我搞的这个驱动是流接口的,其中XXX_open和XXX_close具体实现不知道怎么写,有没有相关的例子和资料什么的,参考一下。
没有人回,我自己解决了。- -#
用端口1发送之前把默认端口关了就可以了。
感觉调驱动很纠结,错了的话不知道为什么错的,解决了问题有不知道为什么这么做就可以了。