yjmpepe
驱动牛犊
驱动牛犊
  • 注册日期2003-04-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2003-04-28 09:27
我用C:\\Cypress\\USB\\Application Reference Materials\\Support Information\\High Speed Devices\\CY7C68013 FX2\\Examples\\FX2 Slave FIFO例子测试,是auto模式,用EP2和EP4做out,试了EP2EF,EP2FF,EP4EF,EP4FF,都没问题(用control panel发数)。现在我的问题是卡在无法用keil调试上,就dev_io可以调试,其他的都不能停在断点上。
double
论坛版主
论坛版主
  • 注册日期2002-03-30
  • 最后登录2015-05-05
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2003-04-28 11:33
你的auto模式是怎么设的,我没有该它的程序,因该不是auto模式的
我的qq是35409915
email:liuyanbo@263.net
希望多联系
轻轻的我来了 带给你欢乐 悄悄的我走了 带走你忧愁
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2003-04-28 12:06
顶!

关注ing
二姑家的猫想......
yjmpepe
驱动牛犊
驱动牛犊
  • 注册日期2003-04-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2003-04-28 12:29
to double:我把c文件mail给你看看
yjmpepe
驱动牛犊
驱动牛犊
  • 注册日期2003-04-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2003-04-28 17:54
我已经实现的是:auto模式下flag能指示EP2和EP4的full和empty(都是out);source模式下TD_POLL中能正确收到host的数据。
现在正在做的是:auto模式下(异步)用control panel传数,触发SLRD,然后测FD[8:0](选中EP2),发现FD[8:0]上的数据总是用control panel发的最后一个数,高手能指点一下吗?
double
论坛版主
论坛版主
  • 注册日期2002-03-30
  • 最后登录2015-05-05
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2003-04-28 18:19
我已经实现的是:auto模式下flag能指示EP2和EP4的full和empty(都是out);source模式下TD_POLL中能正确收到host的数据。

不知道你所说的正确接收host的数据证据是什么。

现在正在做的是:auto模式下(异步)用control panel传数,触发SLRD,然后测FD[8:0](选中EP2),发现FD[8:0]上的数据总是用control panel发的最后一个数,高手能指点一下吗?

这个问题不太清楚
轻轻的我来了 带给你欢乐 悄悄的我走了 带走你忧愁
yjmpepe
驱动牛犊
驱动牛犊
  • 注册日期2003-04-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
26楼#
发布于:2003-04-28 18:32
我的keil实在是不能正常debug,所以我只好借助demo板上的几个led灯,代码是这样的:
void TD_Poll( void )
{
if(EP2468STAT & 0X01)
{//EP2 empty,打开led0
ledX_rdvar=LED0_ON;
}
else
{//EP2不为空,关闭led0,如果送的数是1 2 3 4(用control
 //panel送)则打开led2
ledX_rdvar=LED0_OFF;
if(EP2FIFOBUF[0]==0x01)
if(EP2FIFOBUF[1]==0x02)
if(EP2FIFOBUF[2]==0x03)
if(EP2FIFOBUF[3]==0x04)
ledX_rdvar=LED2_ON;
}
if(EP2468STAT & 0x02)
ledX_rdvar=LED3_OFF;
else
ledX_rdvar=LED3_ON;
}
led灯的反应还是正常的
double
论坛版主
论坛版主
  • 注册日期2002-03-30
  • 最后登录2015-05-05
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
27楼#
发布于:2003-04-28 19:20
我觉得你可以在写完数据之后,读一读它的第一位和最后一位,然后再试着从它的fifo中读取一个数据到外部的ram中,然后惠传到其它的in fifo,最后读取,这样试一下,看看结果怎么样。
轻轻的我来了 带给你欢乐 悄悄的我走了 带走你忧愁
yjmpepe
驱动牛犊
驱动牛犊
  • 注册日期2003-04-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
28楼#
发布于:2003-04-29 14:35
行了,我用autoout可以把数据用control panel传到FD总线输出了,读完empty也指示正常,早上量FD电平的时候乱动线大概引起RD误触发所以总是读的最后一个数
double
论坛版主
论坛版主
  • 注册日期2002-03-30
  • 最后登录2015-05-05
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
29楼#
发布于:2003-04-29 15:15
我现在问题依旧
使用out端点的fifo时,empty flag总是不能正确显示
而in端点的fifo时,empty flag却可以正确显示
实在不知道是什么原因,我设的不是auto模式
轻轻的我来了 带给你欢乐 悄悄的我走了 带走你忧愁
yjmpepe
驱动牛犊
驱动牛犊
  • 注册日期2003-04-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
30楼#
发布于:2003-04-29 17:57
把你的程序贴出来大家看看吧,我用auto模式发送和接收EP2里的数据都成功了
double
论坛版主
论坛版主
  • 注册日期2002-03-30
  • 最后登录2015-05-05
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
31楼#
发布于:2003-04-29 18:27
我用的程序就是cypress提供的bulkloop例子
轻轻的我来了 带给你欢乐 悄悄的我走了 带走你忧愁
yjmpepe
驱动牛犊
驱动牛犊
  • 注册日期2003-04-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
32楼#
发布于:2003-04-30 10:05
source模式下51可以做三种处理
1,commit the pkt,原封不动转发
2,skip the pkt,忽略
3,source(edit) the pkt,发新包
在pdf中关于slave fifo的例子中在TD_POLL中是这么写的
if(!(EP2468STAT & 0X01))
{
OUTPKTEND(0x82):
}
这种代码看起来empty是几乎始终有效的
yjmpepe
驱动牛犊
驱动牛犊
  • 注册日期2003-04-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
33楼#
发布于:2003-05-19 20:25
我现在用slave fifo+bulk(auto),外围用dsp(F206)向fifo写数。固件就用Cypress的slave fifo的auto的例子,用了四倍的buffer,驱动没动,上位机调用deviceiocontrol用线程做的,现在只在1.1的机子上调,但是速度只能到400Kbits左右,为什么只能这么低?
206的速度应该够,难道上位机直接用了光盘装上的驱动然后调用deviceiocontrol速度上不去?请大虾们指点一下。
千万不要逼我做驱动,吐血。
上一页 下一页
游客

返回顶部