发新帖我要提问
12
返回列表
打印

写失败求助

[复制链接]
楼主: hanwe
手机看帖
扫描二维码
随时随地手机跟帖
21
hanwe|  楼主 | 2010-12-18 10:22 | 只看该作者 回帖奖励 |倒序浏览
郁闷依然在继续
板子做了一个版本的两块
由于芯片版本
居然一个成功,另外一个打死都不能枚举

使用特权

评论回复
22
lium| | 2010-12-18 10:37 | 只看该作者
到CYPRESS官网上看看关于不能枚举的原因

使用特权

评论回复
23
lium| | 2010-12-18 11:03 | 只看该作者
能够枚举:
CY7C68013A-
128AXC 0631
B 04 651142


不能枚举
CY7C68013A-
128AXC TWN0525
B 04 629736

使用特权

评论回复
24
langgq| | 2010-12-18 11:32 | 只看该作者
有时不能把事情想得太复杂了,你看看UBS-B连接器里面是不是有的断了?

使用特权

评论回复
25
hanwe|  楼主 | 2010-12-18 11:41 | 只看该作者
好的,我仔细检查一下, 多谢你们,结贴了

使用特权

评论回复
26
hanwe|  楼主 | 2010-12-18 16:05 | 只看该作者
有时不能把事情想得太复杂了,你看看UBS-B连接器里面是不是有的断了?
langgq 发表于 2010-12-18 11:32
果然如此

使用特权

评论回复
27
dqyubsh| | 2010-12-20 13:15 | 只看该作者
弱弱地问,DriverStudio开发USB的驱动必要性何在?为什么68013A要写驱动?CYPRESS的驱动不够用吗?

使用特权

评论回复
28
wanghoujin| | 2010-12-20 14:15 | 只看该作者
我遇到的问题刚好和你相反,IN端点不能写,你能不能把初始化void TD_Init( void )代码贴上来看看,谢谢!

使用特权

评论回复
29
wanghoujin| | 2010-12-20 17:14 | 只看该作者
我也遇到类似问题,请大家帮忙看看:

68013A端点EP8 IN的BULK读失败
68013A采用slavefifo方式进行bulk读写操作
我用EP2做OUT端点,512字节,2重缓冲
用EP8做IN端点,512字节,2重缓冲

现象是:EP2正常通讯,EP8 上位机收到2次成功后,就一直是失败。

我把初始化代码贴上来给大家看看,是否初始化有问题。

void TD_Init( void )
{
  CPUCS = 0x12;
  IFCONFIG = 0x43;
  PORTACFG = 0x40;
  SYNCDELAY;
  FIFOPINPOLAR = 0x00;  // set all slave FIFO interface pins as active low PKTEND OR SLOE SLWR LOW AVTIVE
  SYNCDELAY;
  REVCTL = 0x03;        // enable the external master   

  SYNCDELAY;            //reset the fifos
  FIFORESET = 0x80;
  SYNCDELAY;
  FIFORESET = 0x02;
  SYNCDELAY;
  FIFORESET = 0x04;
  SYNCDELAY;
  FIFORESET = 0x06;
  SYNCDELAY;
  FIFORESET = 0x08;
  SYNCDELAY;
  FIFORESET = 0x00;
  SYNCDELAY;
  PINFLAGSAB = 0x00;         // PINFLAGSAB = 0xE0; FLAGA - indexed, FLAGB - EP6 FF
  SYNCDELAY;
  PINFLAGSCD = 0x00;      // PINFLAGSCD = 0x08; FLAGC - EP2 EF, FLAGD - indexed
  SYNCDELAY;                    // config the endpoints direction
  EP1OUTCFG = 0xA0;            //enable and bulk type
  EP1INCFG =  0xA0;
  SYNCDELAY;                   // see TRM section 15.14
  EP2CFG = 0xA0;
  SYNCDELAY;     
  EP8CFG = 0xE0;
  SYNCDELAY;
  EP4CFG = 0x00;
  SYNCDELAY;                    
  EP6CFG = 0x00;
  SYNCDELAY;                    
  OUTPKTEND = 0X82;      //arming endpoint 2, perform OUTPKTEND 4 times since EP2 is 4x buffered
  SYNCDELAY;  
  OUTPKTEND = 0X82;
  SYNCDELAY;  
  OUTPKTEND = 0X82;
  SYNCDELAY;  
  OUTPKTEND = 0X82;
  SYNCDELAY;                 
  EP2FIFOCFG = 0x10;      //EP IS AUTOOUT=1 AUTOIN =0 ZEROLEN=1 WORDIDE=0
  SYNCDELAY;
  EP8FIFOCFG = 0x08;      //EP IS AUTOOUT=0 AUTOIN =1 ZEROLEN=1 WORDIDE=0
  SYNCDELAY;
  INPKTEND = 0x08;
  SYNCDELAY;
  INPKTEND = 0x08;
  SYNCDELAY;
  EP8AUTOINLENH = 0x02;   //set the packet size 512
  SYNCDELAY;
  EP8AUTOINLENL = 0x00;
  SYNCDELAY;
               
  EP2BCL = 0x80;         // arm EP2OUT by writing byte count w/skip.
  SYNCDELAY;                    
  EP2BCL = 0x80;
  SYNCDELAY;   
}

使用特权

评论回复
30
soap21| | 2010-12-22 15:54 | 只看该作者
路过 学习学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则