Board logo

标题: JB16的中断问题 [打印本页]

作者: waterbow    时间: 2005-11-24 18:03     标题: JB16的中断问题

JB16的USB口上电后,系统提示有新硬件,要求安装软件,但是是unkown device,应该是枚举没通过,中断程序interrupt 2 void isrUSB() 是参考codeworriar_example的JB8的,start08和prm等文件都是建立工程自动生成的,主程序也简单

 void main(void)
{
  int i;
  DDRC=0xff;
  initUSB();  
  cli();
  for(;;) {
  i=0;
  __RESET_WATCHDOG();
  }
}

跟踪中断程序,发现上电后根本没有运行,如果CONFIG中URSTD置位了,中断程序RSTF一段会运行,不知道是什么问题,是不是软件哪儿没设置啊 ,还是硬件有问题,各位老师指点一下

[此贴子已经被作者于2005-11-24 18:03:16编辑过]


作者: 流浪远方百合    时间: 2005-11-25 17:01

有安装驱动的提示硬件应该没有问题了,CONFIG的URSTD是要设置的,运行的是usb复位,在看看你的程序,start08,prm都不需要改动了,看一下你的usb设备描述符定义有问题没
作者: waterbow    时间: 2005-11-25 20:12

interrupt 2 void isrUSB() {
 if(UIR1 & BM_EOPF) {  
  SuspendCounter = 0;   
  UIR2 = BM_EOPFR;    
  }
 else if(UIR1 & BM_RXD0F) { 
  LED2=0;
    LED3=1;
  if(USR0 & BM_SETUP)    
   handleSETUP();
  else       
   handleOUT();
  }       
 else if ...

我放了两个led的地方都还没执行到啊,还没到描述符啊,JB16如果接收到setup令牌,如果USBEN=1,RX0E=1,RXDOF=0,就应该自动接受数据并给RXD0F置位,在RXD01E=1的情况下产生中断,但是我这个中断就没产生过,怎么回事啊,难道开中断速度不匹配没接受到主机SETUP包?

[此贴子已经被作者于2005-11-25 20:12:09编辑过]


作者: waterbow    时间: 2005-11-26 14:38

昨晚找到原因了还是硬件有点小的问题,汗




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0