阅读:1132回复:2
管道传输,恼人问题!问题简单,DX一点就穿!!!
我现在要用AN2131做一个USB传输数据。现在我用管道2进行数据传输,我将
USBPAIR=0x00;//不使用双缓冲 然后我等待PC机的请求,PC机从OUT2BUF发一个命令给我,然后我从IN2BUF返回给它数据,我发现它读到的是我上一次通IN2BUF传输的数据,不是我这一次要给的数据,我这次要给的数据要等到接受到下一次的PC机的请求才传输上去了,有没有什么办法,清掉IN2BUF里的数据啊!!??我要哭了,弄了大半天了!! |
|
最新喜欢:![]() |
沙发#
发布于:2003-08-15 14:51
我也遇到同样的问题,不过解决了,其实问题不是很严重
原因就是你没有控制你的读写数据,这个需要上下位机程序联合调试 自己定义一个传输大小的协议,每次在dataIn来之前就将想要发送的数据送往接收数据的端点缓存,在上位机要读取这个端点的数据时,根据自定义的传输大小(应该有个最大封包),将数据收回,其实不是上位机主动收,只是上位机发送DataIN令牌到指定端点(准备后传输数据的端点),usb的收发器将数据送出。 再试一试,应该没有问题的,你已经几乎成功了 |
|
|
板凳#
发布于:2003-08-14 15:18
按照你说得,那第一次读到的是什么啊?能读到么?
|
|