zoukankan      html  css  js  c++  java
  • 修改USB固件库的Customer_HID例程

         我用的是神州三号开发板子,板子的USB模块原理图为:

          配置端口G的11号引脚为usb的使能引脚,按理来说应该是开漏输出的(看了很多的修改代码都是这个模式),不过就是不能使能usb,只能配置成推挽的才行,不知道为什么,不知道有没有人知道这个,求解答?

    GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //是普通的推挽输出,而不是开漏输出
    GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure);

          由于是普通的推挽输出,所以只有输出高电平才能使能usb,所以使能usb的函数应该修改为:

    void USB_Cable_Config (FunctionalState NewState)
    {
      if (NewState != DISABLE)
        GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN);  //为1是高电平
      else
        GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN);  //为0是低电平
    }

          这个问题让我明白了,只有很好的看电路图,才能理解和找出很的问题。

          具体其它的修改看以参考http://blog.csdn.net/cy757/article/details/5117610这篇文章,把程序下到板子后就可以看到pc上提示开始安装驱动程序了,说明我们的USB设备可以被pc检测到了。

     

  • 相关阅读:
    团队冲刺第一天
    第八周进度报告
    团队会议01
    《梦断代码》阅读笔记(三)
    《梦断代码》阅读笔记(二)
    《梦断代码》阅读笔记(一)
    SCRUM第六天
    SCRUM第五天
    大白话strom——问题收集(持续更新ing)
    maven环境快速搭建(转)
  • 原文地址:https://www.cnblogs.com/chengxuyuancc/p/3440034.html
Copyright © 2011-2022 走看看