liaoqinglong
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2007-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1780回复:11

没有人知道SL811HS作为SLAVE的用法吗?

楼主#
更多 发布于:2004-03-13 13:13
谁能告诉我SL811HS作为从机时,
从主机接收的命令和数据具体存放在哪个寄存器?
CPU怎么知道是哪个中断源产生中断?

CPU怎么判断发来的命令是哪种命令?
这些命令存放在哪个寄存器?

最新喜欢:

templatempla
jinyang
驱动牛犊
驱动牛犊
  • 注册日期2004-03-12
  • 最后登录2007-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-13 15:32
你用SL811HS作SLAVE,只要处理中断就可以了,然后根据03寄存器的内容判断是否是SETUP,以及是DATA0还是DATA1,从buffer中读取,是的ETUP按SETUP命令处理,其他按命令块或数据流处理。
liaoqinglong
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2007-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-13 16:18
楼上的朋友,
能否详细告诉我,
03寄存器的各个位对应于哪个命令?
jinyang
驱动牛犊
驱动牛犊
  • 注册日期2004-03-12
  • 最后登录2007-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-15 15:24
自己下载SL811HS文档看看吧:
http://www.cypress.com/cfuploads/img/products/SL811HS.pdf [url] [/url]
liaoqinglong
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2007-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-03-17 09:25
我看了这个文档,
知道SL811HS的buffer从10H到FFH,
但是我不知道它接收到的命令和数据是否从10H开始?
jinyang
驱动牛犊
驱动牛犊
  • 注册日期2004-03-12
  • 最后登录2007-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-03-17 16:48
这个地址的开始是由你设定的。即写04和0c寄存器.明白了吗?你在看看手册,会明白的.
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-03-17 17:12
大哥,04H和0CH,
写的时候是主机所要通信的设备的地址;
读的时候是剩下要传输的字节数。
liaoqinglong
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2007-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-03-17 17:21
是啊,楼上的朋友说得对。
不过,我现在做的是SL811HS作为SLAVE。

jinyang:
是不是作为SLAVE的时候,
这两个寄存器就是存放端点0的基地址?
jinyang
驱动牛犊
驱动牛犊
  • 注册日期2004-03-12
  • 最后登录2007-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-03-17 18:38
是啊,楼上的朋友说得对。
不过,我现在做的是SL811HS作为SLAVE。

jinyang:
是不是作为SLAVE的时候,
这两个寄存器就是存放端点0的基地址?


不好意思,是01或09,记错了。我想你会看一下手册和demo的。sorry!!
liaoqinglong
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2007-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-03-18 08:21
to jinyang:
为什么要分成USB-B和USB-A呢?
难道可以有两个端点0?

如果我要使用批量传输,
怎样定义它的两个端点BULK_IN和BUKL_OUT?

jinyang
驱动牛犊
驱动牛犊
  • 注册日期2004-03-12
  • 最后登录2007-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-03-18 13:53
我不清楚怎么使用USB-B和USB-A,我只用一个。
BULK_IN和BUKL_OUT是在你发给主机的端点描述符中定义的,即bEndpointAddress和bmAttributes,bmAttributes为02时,表示为批量传输,bEndpointAddress得最高位为方向,分别表示了该端点为BULK_IN或BUKL_OUT
liaoqinglong
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2007-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-03-18 14:03
bEndpointAddress是不是可以随意定为(1到15)的数字?

控制端点0的数据存放在01H和09H指定的地址,
那BULK_IN和BULK_OUT的数据放在哪呢?
游客

返回顶部