阅读:1193回复:2
请USB大虾们帮忙看看我的问题,谢谢
最近学者写驱动了,遇到下=如下问题,请指教:
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<count;i++) { SBUF0 = EP6FIFOBUF【i】 ;//EXTAUTODAT2 ;//取缓冲中的数据发送到串口 //这里始终是0 EZUSB_Delay(100); //延迟 } EZUSB_IRQ_CLEAR(); EPIRQ = bmBIT6; } |
|
沙发#
发布于:2007-11-26 16:16
这是68013 FX2开发板。
|
|
板凳#
发布于:2007-11-27 08:57
后来经过多次试验,发现缓冲里面有我写进去的一些数据,但是有点乱,而且是在写如很多次以后才会在串口中出现以前写入的数据,这是怎么回事啊?
|
|