阅读:1866回复:3
SL811HST读取U盘成功!一点问题和心得(给使用PIC的朋友)
今天我用dsPIC控制SL811成功读取了U盘上的数据,但还没有试过写入操作。我是在cypress提供的demo程序上开发的,它提供的usbXfer函数好像有点问题。1:写操作时没有使用ping-pang机制,速度很慢。2:写操作时没法将第一个数据包自动切换为DATA1包(根据我的理解,host在发出PID_OUT时使用的是DATA0包,开始发送的第一个数据包应该是DATA1)。以上两点不知对不对,希望高手能指点一下,万分荣幸。
一点建议:使用PIC的朋友不能直接使用cypress提供的demo程序,主要是PIC的编译器和51的编译器编译方式不同,PIC使用“little endian”而51使用的是“big endian”,就是PIC编译器将低字节数据放在存储器的低位地址,高字节放高位地址。因此需要对demo进行一些改动,主要是对Getdesc(),将wValue进行WordSwap,而不要将wLength进行WordSwap。其他还有几个地方要取消WordSwap的,自己找找。 |
|
沙发#
发布于:2004-08-04 00:25
2:写操作时没法将第一个数据包自动切换为DATA1包(根据我的理解,host在发出PID_OUT时使用的是DATA0包,开始发送的第一个数据包应该是DATA1)。 我的理解跟你一样,根据USB规范: IN/OUT事务都是以DATA0包开始的,后面发送方每收到一个ACK则改变一次,接收方每正确接收一次数据改变一次. |
|
板凳#
发布于:2004-08-04 00:21
cypress的demo程序是从哪里下载的? www.cypress.com Developer Kit 选择U S B -> Embeded Host Controller.... |
|
地板#
发布于:2004-08-03 23:59
cypress的demo程序是从哪里下载的?
谢谢,请告诉我一声 |
|
|