阅读:1946回复:2
cy68013a-56 不能设置为8位数据,PD口不能设置为通用IO口
各位达人,小弟遇到一个问题,请大家指导一下:
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口作为控制口,不知道是啥原因? 各位达人,帮我看看,谢谢。 |
|
沙发#
发布于:2009-12-31 14:05
绝对是可以的,我用过, IFCONFIG=0X43, |0X43 看 ,我已经记不大清了 , 不相关的代码 先删删看,
|
|
板凳#
发布于:2010-06-03 09:40
你好,请问问题解决了吗?我也出现同样的问题.不能设置端口d
|
|