sunfammer
驱动牛犊
驱动牛犊
  • 注册日期2002-11-24
  • 最后登录2004-12-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1176回复:2

EX-FX2 的BULK传输的中断响应如何写?

楼主#
更多 发布于:2003-06-25 23:23
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系列的中断实例代码)
那位高手开发时解决了同样的问题,望告知,
不胜感激!!!
hanfuxu
驱动牛犊
驱动牛犊
  • 注册日期2001-07-14
  • 最后登录2009-01-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-26 13:36
呵呵!

你真的认为会有“中断”发生吗?

usb的通信是主机发起的!
你再看看usb的基础知识!
luckyjm
驱动中牛
驱动中牛
  • 注册日期2002-12-19
  • 最后登录2004-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-01 10:03
你可以在ISR_IBN里写中断。
游客

返回顶部