stonehillzou
驱动牛犊
驱动牛犊
  • 注册日期2004-07-16
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1339回复:7

大家看看这是怎么回事(附带波形),求救,有分。

楼主#
更多 发布于:2004-07-22 20:49
unsigned char buff1[8]={0x00,0x05,0x01,0x00,0x00,0x00,0x00,0x00};

SL811Rst ();
SL811Write (IntEna, 0x21);//执行后IntStatus=0x80
SL811Write (IntStatus, 0xff);
SL811Write (EP0Address, 0x10);
SL811Write (EP0Address, 0x10);
SL811Write (DATASet, 0xE0);
SL811Write (CSOFcnt, 0xAE);
SL811Write (CtrlReg, 0x08);//执行后IntStatus=0x60
Delay_ms(20);
SL811Write (CtrlReg, 0x01);//执行后IntStatus=0xe0

for (i = 0; i < 8; i ++)
SL811Write (i + 0x10, buff1);

SL811Write (EP0Counter, 0x00);
SL811Write (EP0Status, 0xD0 | 0x00);
SL811Write (EP0Control,0x1);
//循环产生波形
while (1)
{
SL811Write (IntStatus, 0x0ff);
SL811Write (EP0Control,0x27);
if(SL811Read (IntStatus)!= 0x04 )
break;
ClearWatchDog();
}

大家看看这段代码,U盘始终是插上的:
1、看看IntStatus寄存器的变化是否正常。
2、在循环中,EP0Status始终是0x04(超时),跳不出循环

能看到sof和setup以及data0(见附件),但就是没有ACK。

[编辑 -  7/22/04 by  stonehillzou]

[编辑 -  7/22/04 by  stonehillzou]

[编辑 -  7/22/04 by  stonehillzou]
Darlingsusb
驱动牛犊
驱动牛犊
  • 注册日期2004-07-09
  • 最后登录2005-01-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-23 06:34
你这一步的前面读取设备的描述府有ACK返回吗?
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-23 09:14
仔细阅读811例程,里面超时会做处理的。cypress技术支持很好,有问题问他们。

[编辑 -  7/23/04 by  clementzhao]
stonehillzou
驱动牛犊
驱动牛犊
  • 注册日期2004-07-16
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-07-23 09:49
回clementzhao:  能不能给我cypress的技术支持电话,我都找了好多天了,谢谢!
stonehillzou
驱动牛犊
驱动牛犊
  • 注册日期2004-07-16
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-07-23 09:52
回Darlingsusb:这是我和U盘交换数据的第一步,还没取设备描述符呢。
为什么插上u盘,经常读到0x60,0xE0,0x80,总线复位后就变成0x60了,detect/resume =1不是表示没有设备吗??
alex_heshen
驱动牛犊
驱动牛犊
  • 注册日期2004-05-11
  • 最后登录2005-05-12
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-07-23 17:57
各位老大,你们能给我一个具体的sl811和单片机的硬件连接图吗?帮我过了这一关,我和你们一起前进吧.我的Email:alex_hesheng@sina.com.cn
QQ:394091623
POPO:alex_hesheng
molestu
驱动牛犊
驱动牛犊
  • 注册日期2002-02-21
  • 最后登录2004-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-07-24 19:56
不插U盘读到0x40,插上U盘,读到0xA0,0x05写0x08后读到0x60,写0x00后读到0xE0,清中断后读到0x80
bigbigboy
驱动牛犊
驱动牛犊
  • 注册日期2003-08-24
  • 最后登录2008-08-06
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-07-25 11:59
cypress的技术支持可以直接到www.cypress.com上面查,
sl811的资料中有一个develop kit,里面不仅有电路图,还有appliction note,写得还是很详细的
不过对于sl811-dk好像cypress已经不做了,网站上推荐你看ez811-dk,你也下载下来看看,有些东西还是有用处的:)
游客

返回顶部