usb_init.c
上传用户:yyyd609
上传日期:2022-07-18
资源大小:183k
文件大小:2k
源码类别:

微处理器开发

开发平台:

C/C++

  1. /******************** (C) COPYRIGHT 2003 STMicroelectronics ********************
  2. * File Name          : usb_init.c
  3. * Author             : MCD Application Team
  4. * Date First Issued  : 27/10/2003
  5. * Description        : initialization routines & global variables
  6. *
  7. ********************************************************************************/
  8. #include "71x_lib.h"
  9. #include "USB_lib.h"
  10. /*  Save token on endpoint 0 */
  11.  BYTE EP0_Token  ;
  12. /*  Interrupt flags. */
  13. /*  Each bit represents an interrupt is coming to that endpoint */
  14.  WORD Token_Event ;
  15. /*  The number of current endpoint, it will be used to specify an endpoint */
  16.  BYTE EPindex;
  17. /*  The number of current device, it is an index to the Device_Table */
  18. /* BYTE Device_no; */
  19. /*  Points to the DEVICE_INFO structure of current device */
  20. /*  The purpose of this register is to speed up the execution */
  21. DEVICE_INFO *pInformation;
  22. /*  Points to the DEVICE_PROP structure of current device */
  23. /*  The purpose of this register is to speed up the execution */
  24. DEVICE_PROP *pProperty;
  25. /*  Temporary save the state of Rx & Tx status. */
  26. /*  Whenever the Rx or Tx state is changed, its value is saved */
  27. /*  in this variable first and will be set to the EPRB or EPRA */
  28. /*  at the end of interrupt process */
  29.  WORD SaveState ;
  30.  WORD  wInterrupt_Mask;
  31.  DEVICE_INFO Device_Info;
  32. /*==========================================================================*/
  33. /* USB system initialization */
  34. /*==========================================================================*/
  35. void USB_Init()
  36. {
  37.   USB->CNTR = 0x0003;
  38.   Token_Event = 0; /* Flags of each endpoint interrupt */
  39.   pInformation = &Device_Info;
  40.   pInformation->ControlState = 2;
  41.   pProperty = &Device_Property;
  42.   /* Initialize devices one by one */
  43.   pProperty->Init();
  44. } /* USB_Init() */
  45. /*==========================================================================*/