lyd519a
驱动牛犊
驱动牛犊
  • 注册日期2004-08-25
  • 最后登录2005-08-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1315回复:6

请教yyouking!!

楼主#
更多 发布于:2004-11-03 15:45
和lg970331一样问题
我用的是下载的源码,修改了一下!

void main(void)
{
  P_HWInit();


  reconnect_USB(); //联接USB总线

  while(1)
  {
    usbserve(); //USB服务数据处理
  }

  while(1) DISABLE;
}
void reconnect_USB(void)
{
  unsigned long clk_cnt = 0x9000;
  D12SUSPD = 0;
  disconnect_USB();
  while(clk_cnt--);
  connect_USB();
}
void control_handler(void)
{
  unsigned char type, req;
  type = ControlData.DeviceRequest.bmRequestType & USB_REQUEST_TYPE_MASK;
  req = ControlData.DeviceRequest.bRequest & USB_REQUEST_MASK;
  
  if(type == USB_STANDARD_REQUEST) //标准请求
  {
    (*StandardDeviceRequest[req])();
  }
  else if (type == USB_VENDOR_REQUEST) //厂商请求
  {
    (*VendorDeviceRequest[req])();
  }
  else  stall_ep0();
}

void usbserve(void)
{
  if (GETBIT(B_D12_Lb,SETUP))
  {
    DISABLE;
    CLRBIT(B_D12_Lb,SETUP);
    control_handler(); //设置包控制处理
    ENABLE;
  }
}
//断开USB总线连接
void disconnect_USB(void)
{
  D12_SetMode(D12_NOLAZYCLOCK, D12_SETTOONE | D12_CLOCK_12M);
}

//连接到USB总线
void connect_USB(void)
{
  DISABLE;
  B_D12_Lb = 0;
  B_CommFlg = 0;
  ENABLE;
  D12_SetDMA(0x0); //设置D12工作模式
  D12_SetMode(D12_NOLAZYCLOCK|D12_SOFTCONNECT, D12_SETTOONE | D12_CLOCK_12M);
}
yyouking
驱动老牛
驱动老牛
  • 注册日期2003-12-18
  • 最后登录2020-04-28
  • 粉丝0
  • 关注0
  • 积分967分
  • 威望114点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-11-03 16:47
能不能枚举成功了啊?
提供: AT89S52+D12开发套件 W78E54+Sl811HST单片机读写U盘套件 PL2303HX-串口转USB 网站http://www.devking.cn 联系 sl811hs@yahoo.com.cn QQ:14441292
lyd519a
驱动牛犊
驱动牛犊
  • 注册日期2004-08-25
  • 最后登录2005-08-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-11-10 10:20
goodlink 灯闪了两下,发现新硬件,然后装驱动失败,说无法找到功能驱动,你当初是改的那里就成功了?但是用Usb51.lib就成功了。但我要外扩ram,不能用它的啊!
bengbengsnake
驱动牛犊
驱动牛犊
  • 注册日期2002-05-31
  • 最后登录2005-05-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-10 10:34
goodlink是在什么情况下会闪,主机和设备传输数据的时候吗?包括控制传输?
lyd519a
驱动牛犊
驱动牛犊
  • 注册日期2004-08-25
  • 最后登录2005-08-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-11-11 10:13
是传数据时闪。
yyouking
驱动老牛
驱动老牛
  • 注册日期2003-12-18
  • 最后登录2020-04-28
  • 粉丝0
  • 关注0
  • 积分967分
  • 威望114点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2004-11-13 10:58
goodlink 灯闪了两下,发现新硬件,然后装驱动失败,说无法找到功能驱动,你当初是改的那里就成功了?但是用Usb51.lib就成功了。但我要外扩ram,不能用它的啊!


1、你把设备描述副里的PID VID修改一个值
2、把驱动信息文件(就是那个*INF文件)中的PID VID修改为你设备中对应的值就应该没有问题
祝你好运!
提供: AT89S52+D12开发套件 W78E54+Sl811HST单片机读写U盘套件 PL2303HX-串口转USB 网站http://www.devking.cn 联系 sl811hs@yahoo.com.cn QQ:14441292
lyd519a
驱动牛犊
驱动牛犊
  • 注册日期2004-08-25
  • 最后登录2005-08-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-11-15 08:56
pid也能修改吗?不是固定的0471吗?
游客

返回顶部