sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1909回复:6

求救,怎么把data设为data0或data1?

楼主#
更多 发布于:2005-05-30 10:10
求救,怎么把data设为data0或data1?请高手指点!
templa
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2013-03-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-30 10:34
看看DATA0/1的定义先!
EP0Control的值的BIT6为0是选中DATA0,为1是DATA1!
sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-05-30 10:38
看看DATA0/1的定义先!
EP0Control的值的BIT6为0是选中DATA0,为1是DATA1!


谢谢,能否举个例子,

我现在做批量传输,用端点2,和EP0有关系吗?
sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-05-30 10:51
我接收CBW后,ACK(0),按照CBW的含义,发送需要传的数据,如MBR,DOS引导区数据等,接着发送CSW,我不知道什么时候选择DATA0,DATA1啊
templa
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2013-03-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-05-30 11:00
和端点没什么关系。DATA0/1只是在双缓冲起始地址的选择,EP0Control实际是811HS的USBA的控制寄存器(USBB也有,定义为EP1Control)。端点2的传输如果用USBA实现,就要使用EP0Control的BIT6(即DATA TOGGLE BIT),SIE据此得知本次传送的数据首地址。
sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-05-30 11:17
和端点没什么关系。DATA0/1只是在双缓冲起始地址的选择,EP0Control实际是811HS的USBA的控制寄存器(USBB也有,定义为EP1Control)。端点2的传输如果用USBA实现,就要使用EP0Control的BIT6(即DATA TOGGLE BIT),SIE据此得知本次传送的数据首地址。

非常感谢,这个贴最多只能给20分。
我试试,一会尔再开贴给分。

D12芯片没有你所说的USBA控制寄存器,USBB控制寄存器.
sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-05-30 21:44
比如发送64字节数据时,先写00,再写数据长度,再发送数据,
那个控制data0和data1是不是在第一个00改写?
如果不是,在哪里写,我真的迷糊了,
usb1.1第八章协议我已经看好几遍了,都没说怎么写啊,
游客

返回顶部