打印

USB的小小问题!!!

[复制链接]
1976|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
win2000_li|  楼主 | 2008-3-3 23:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    兄弟最近在搞USB,但是发现一个问题,就是USB上电检测端口的设置问题。
因为我现在的设计是没有这个检测端口的,那么在程序里怎么处理呢???
我把相关的端口设置都注释掉了,但是还是不行,USB设备根本不能运行。
请教怎么处理才能行呢????
    以下是相关的检测端口的程序!!!请高手指点!!!


//#define USB_sense  PORTAbits.RA1  //USB 上电检测端口
//#define tris_usb_bus_sense TRISAbits.TRISA1
/*************************
* USB检测总线状态函数
**************************/
void USBCheckBusStatus()
{
  //if(USB_sense==USB_BUS_ATTACHED) //如果USB设备上电
   //{
     if(UCONbits.USBEN == 0)      //如果USB现在处于禁止状态,使能
      {  
          UCON = 0;
          UIE = 0;                            // 清除所有USB中断
          UCONbits.USBEN = 1;                 // 使能USB模块
          usb_device_state = ATTACHED_STATE;  // USB进入上电状态
      }
   //}
  //else
   //{
      if(UCONbits.USBEN == 1)  // 如果USB处于使能状态,禁止
       {
          UCON = 0;                           // 禁止USB模块
          UIE = 0;                            // 清所有USB中断
          usb_device_state = DETACHED_STATE;  // USB设备处于断开状态
       }

  // }//end if(USB_sense==USB_BUS_ATTACHED)

  if(usb_device_state == ATTACHED_STATE)  //如果USB处于上电状态
   {
      if(!UCONbits.SE0) //未检测到单端0
       { 
          UIR = 0;                        // 清除所有USB中断标志
          UIE = 0;                        // 复位所有USB中断
          UIEbits.URSTIE = 1;             // 允许复位中断 
          UIEbits.IDLEIE = 1;             // 允许空闲检测中断   
          usb_device_state = POWERED_STATE;//POWERED_STATE=2,USB总线有效状态  
       } 
   }//end if(USB_sense == USB_BUS_ATTACHED)
}//end USBCheckBusStatus()
沙发
win2000_li|  楼主 | 2008-3-4 09:05 | 只看该作者

顶起

兄第们,帮帮忙!!!!!

使用特权

评论回复
板凳
win2000_li|  楼主 | 2008-3-4 23:19 | 只看该作者

为什么是这样啊!!!

快来帮帮我吧!!!!

哪位兄弟做出来的USB,出来顶一个吧!!

使用特权

评论回复
地板
hccshiyong| | 2008-3-5 10:00 | 只看该作者

这不是什么小问题了

我估计是VID引起的巴?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

142

主题

718

帖子

1

粉丝