duyong_18
驱动牛犊
驱动牛犊
  • 注册日期2003-08-06
  • 最后登录2010-03-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1946回复:2

cy68013a-56 不能设置为8位数据,PD口不能设置为通用IO口

楼主#
更多 发布于:2009-12-30 11:21
各位达人,小弟遇到一个问题,请大家指导一下:
  cy68013a-56 不能设置为8位数据,只能是16位数据,PD口不能设置为通用IO口,代码如下


void TD_Init( void )
{ // Called once at startup

  CPUCS = 0x0A;                 //FOR CPU  //USB时钟频率
                                // CLKSPD[1:0]=10, for 48MHz operation,
                                  // CLKSPD[1:0]=01, for 24MHz operation
                                // CLKSPD[1:0]=00, for 12MHz operation
                                  // CLKOUT输出,驱动CPLD

  SYNCDELAY;
  REVCTL = 0x03;
  SYNCDELAY;
  REVCTL = 0x03;
  SYNCDELAY;
  IFCONFIG = 0x03;             //interface configration(Ports,GPIF,Slave FIFO)
                                 //  外部IFCLK时钟输入,不反转极性,同步模式,slave fifo 模式
 ///////////////////////////////////////////////////////////
  //////////////////////////////////////////////////
  SYNCDELAY;
  EP2CFG = 0xE0;    // IN direction, bulk mode, 512*4
  SYNCDELAY;
  EP4CFG = 0x00;    // not valid
  SYNCDELAY;
  EP6CFG = 0x00;    // not valid
  SYNCDELAY;
  EP8CFG = 0x00;    // not valid

  SYNCDELAY;
  FIFORESET = 0x80;             // activate NAK-ALL to avoid race conditions
  SYNCDELAY;                    // see TRM section 15.14
  FIFORESET = 0x02;             // reset, FIFO 2
  SYNCDELAY;                    //
  FIFORESET = 0x04;             // reset, FIFO 4
  SYNCDELAY;                    //
  FIFORESET = 0x06;             // reset, FIFO 6
  SYNCDELAY;                    //
  FIFORESET = 0x08;             // reset, FIFO 8
  SYNCDELAY;                    //
  FIFORESET = 0x00;             // deactivate NAK-ALL

  SYNCDELAY;
  PINFLAGSAB = 0x98;
  SYNCDELAY;
  PINFLAGSCD = 0xFE;
  SYNCDELAY;
  FIFOPINPOLAR = 0x3c; //3c         // take PKTEND,SLOE,SLRD and FF flag active low,SLWR acive hight
  SYNCDELAY;
  
  // handle the case where we were already in AUTO mode...
  EP2FIFOCFG = 0x08;            // AUTOIN=1, WORDWIDE=0
  SYNCDELAY;

  EP4FIFOCFG = 0x06;        //确保所有WORDWIDE=0
  SYNCDELAY;
  EP6FIFOCFG = 0x06;
  SYNCDELAY;
  EP8FIFOCFG = 0x06;
  SYNCDELAY;


  OED |=0x03;        // Use PD0 and PD1 as output pin,    set 1  for output, 0 for input
//////////////////////////////////
  
  PD0 = 1;
  PD1 = 1;

 
  }

用万用表测试 PD0\PD1都是0V;

当 把  IFCONFIG = 0x03;  改为   IFCONFIG = 0x40; 时,用万用表测试 PD0\PD1都是2.5V;
但是我是想把 PB口作为数据口,PD口作为控制口,不知道是啥原因?


各位达人,帮我看看,谢谢。        
sweep7758
驱动牛犊
驱动牛犊
  • 注册日期2007-12-05
  • 最后登录2013-06-03
  • 粉丝1
  • 关注0
  • 积分50分
  • 威望560点
  • 贡献值1点
  • 好评度13点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-12-31 14:05
绝对是可以的,我用过, IFCONFIG=0X43, |0X43 看 ,我已经记不大清了 , 不相关的代码 先删删看,
wangyali
驱动牛犊
驱动牛犊
  • 注册日期2010-06-03
  • 最后登录2010-06-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-06-03 09:40
你好,请问问题解决了吗?我也出现同样的问题.不能设置端口d
游客

返回顶部