我用68013 slavefifo模式,但是有些小的参数要通过控制传输EP0让串口发给fpga,现在出现的问题是只烧68013固件,pc可以识别,再烧FPGA程序就变成68013eeprom missing(就是没烧固件的状态),出现这种奇怪现象有什么原因呢?是我初始化串口之后开了中断然后重枚举的时候进入了死循环导致没法枚举成功?附上固件程序:
//vend_request
BOOL DR_VendorCmnd( void )
{
BYTE bc;
BYTE i;
switch (SETUPDAT[1])
{
case VEND_RIPHEADER:
{
EP0BCH = 0;
EP0BCL = 0;
while(EP0CS & bmEPBUSY);
bc = EP0BCL;
for(i=0;i<bc;i++)
{
TI1 = 0;
SBUF1 = EP0BUF[ i ];
while( !TI1 );
TI1 = 0;
}
}
//TD_init
CPUCS = 0x12; //48MHZ CLKOUT ENALBE
EA=1;
SCON1 = 0x50;
SMOD1 = 0;
UART230 = 0x02; //高速串口115200 |