自己弄了块68013a的板子 问题如下
我用到了68013的串口并在vendercmnd中增加了向pc机发数 程序如下
BOOL DR_VendorCmnd(void)
{
BYTE tmp;
switch (SETUPDAT[1])
{
case VR_NAKALL_ON: //0xD0
Serial_SendChar( 0xD0 , 0 ) ; //向串口1中发送0xD1
tmp = FIFORESET; //FIFORESET寄存器最高位置1
tmp |= bmNAKALL;
SYNCDELAY;
FIFORESET = tmp;
break;
case VR_NAKALL_OFF: //0xD1
Serial_SendChar( 0xD1 , 0 ) ; //向串口0中发送0xD1
tmp = FIFORESET; //FIFORESET寄存器最高位置0
tmp &= ~bmNAKALL;
SYNCDELAY;
FIFORESET = tmp;
break;
case 0xD2: //0xD2
FIFORESET = 0x00 ;
Serial_SendChar( 0xD2 , 0 ) ;
Serial_SendChar( 0xD2 , 0 ) ;
Serial_SendChar( 0xD2 , 0 ) ;
break ;
default:
Serial_SendChar( 0x99 , 0 ) ;
return(TRUE);
}
return(FALSE);
}
在void SetupCommand(void)中改了最后几句如下
default: // *** Invalid Command
if(DR_VendorCmnd())
temp = 1 ;
//EZUSB_STALL_EP0(); // Stall End Point 0
}
// Acknowledge handshake phase of device request
EP0CS |= bmHSNAK;
} |