阅读:1176回复:2
EX-FX2 的BULK传输的中断响应如何写?
USB2.0
这是FX2里的中断响应空代码(原始例子): void ISR_Ep1out(void) interrupt 0 { //我不知如何写,cypress没给出例子代码 } USB1.1 这是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系列的中断实例代码) 那位高手开发时解决了同样的问题,望告知, 不胜感激!!! |
|
沙发#
发布于:2003-06-26 13:36
呵呵!
你真的认为会有“中断”发生吗? usb的通信是主机发起的! 你再看看usb的基础知识! |
|
板凳#
发布于:2003-07-01 10:03
你可以在ISR_IBN里写中断。
|
|