icanpass
驱动牛犊
驱动牛犊
  • 注册日期2005-01-18
  • 最后登录2007-01-24
  • 粉丝0
  • 关注0
  • 积分99分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:1109回复:3

紧急请教sl811的几个寄存器的用法!

楼主#
更多 发布于:2005-02-03 11:32
我用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]
icanpass
驱动牛犊
驱动牛犊
  • 注册日期2005-01-18
  • 最后登录2007-01-24
  • 粉丝0
  • 关注0
  • 积分99分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-03 15:33
就没有哪位高手肯指点一下吗?对那两个寄存器的用法不清楚啊,可以指点一下吗
icanpass
驱动牛犊
驱动牛犊
  • 注册日期2005-01-18
  • 最后登录2007-01-24
  • 粉丝0
  • 关注0
  • 积分99分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-03 18:54
自己顶一下
kkyouking
驱动中牛
驱动中牛
  • 注册日期2004-02-23
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分47分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-05 09:05
那要看你SL811Write函数里面怎么处理了
52+PDIUSBD12开发套件 SL811单片机读写U盘套件 www.devking.cn 联系sl811hs@yahoo.com.cn QQ 14441292
游客

返回顶部