阅读:1466回复:0
EX-FX2 的BULK传输的中断响应如何写?
USB1.1
这是FX2里的中断响应空代码(原始例子): void ISR_Ep1out(void) interrupt 0 { //我不知如何写,cypress没给出例子代码 } USB2.0 这是FX里的中断响应代码(原始例子): void ISR_Ep2out(void) interrupt 0 { int i; if (EPIO[IN2BUF_ID].cntrl & bmEPBUSY) { TOGCTL = 0x08 | IN2BUF_ID; WRITEDELAY(); if (TOGCTL & 0x80) TOGCTL |= 0x20; else TOGCTL |= 0x40; } // Loop the data to the IN endpoint for (i=0; i < OUT2BC; i++) { IN2BUF = ~OUT2BUF; } // Arm the IN endpoint IN2BC = i; // Arm the OUT so it can receive the next packet OUT2BC = 0; // clear the IRQ EZUSB_IRQ_CLEAR(); OUT07IRQ = bmEP2; } 在我目前调试的FX2中已经使能EP1OUT,EP1IN端点, 同时使能了EPIE中的EP1OUT中断位。 在汇编描述文件dscr.a51里已经加入正确的描述段 用cypress的测试工具已经能看到正确配置的EP1OUT, EP1IN端点 可是我却无法测试传输,因为我不知如何正确写他的 中断服务程序(没有FX2系列的中断实例代码) 那位高手开发时解决了同样的问题,望告知, 不胜感激!!! |
|