阅读:1109回复:3
紧急请教sl811的几个寄存器的用法!
我用getdesc命令,希望得到18byte的描述符,发送完8byte的setup命令后就启动一个in事务,希望输入18byte.
执行完以下指令后SL811Write(EP0Status,((endpoint&0x0F)|pid)); // PID + EP address SL811Write(EP0Counter,usbaddr); // USB address ertDllRegister SL811Write(EP0Address,data0); // buffer address, start with "data0" egisterSystemSto SL811Write(EP0XferLen,xferLen); //xferlen=0x12 // data transfer length umSystemStore SL811Write(IntStatus,INT_CLEAR); // clear interrupt status ysicalStore SL811Write(EP0Control,cmd); // Enable ARM and USB tran 请问:u盘的端点0的最大包为8字节,那么如果我将传输长度寄存器EP0XferLen定为18字节,那结果回如何?这是个in事务,是不是我remainder = SL811Read(EP0Counter)结果为0x0a? 这个寄存器读取得到的是不是xferlen-实际已经传输的数据?是不是xferlen只是希望传输的总长度,而不是一定能一次传输的长度?(取决是端点的最大包?) [编辑 - 2/3/05 by icanpass] |
|
沙发#
发布于:2005-02-03 15:33
就没有哪位高手肯指点一下吗?对那两个寄存器的用法不清楚啊,可以指点一下吗
|
|
板凳#
发布于:2005-02-03 18:54
自己顶一下
|
|
地板#
发布于:2005-02-05 09:05
那要看你SL811Write函数里面怎么处理了
|
|
|