|
最近学者写68013驱动了,遇到如下问题,请指教:
1,从驱动程序端已经发送数据到设备端了,而且在Bus Hound中可以看到DO 中有我发送的数据,通过端点中断,到中断程序中。发现数据长度是正确的,但是BUFFER里面的数据始终是0,这是为什么?还需要设置什么吗?
2,往端点发送数据时,发现只有第一次会产生中断,下次发送数据时就好像再没有进入中断程序了。这是为什么呢?
附上我的相关代码:端点6为输出端点
void ISR_Ep6inout( void ) interrupt 0 //OUT
{
SCON0 = 0x50; //串口工作在方式1下
TMOD |= 0x20; //定时器1,工作方式2
PCON|= 0x80;
CKCON |= 0x10;
TH1 = 0xEC;
TR1 = 1;
TI = 1;
EA = 1;
ES0 = 1;
count = EP6FIFOBCL; //检查这里是正确的,发送了多少个数据
for(i = 0;i
{
SBUF0 = EP6FIFOBUF【i】 ;//EXTAUTODAT2 ;//取缓冲中的数据发送到串口
//这里始终是0
EZUSB_Delay(100); //延迟
}
EZUSB_IRQ_CLEAR();
EPIRQ = bmBIT6;
}
|
|