D12CI.H
上传用户:lyfy_2008
上传日期:2014-07-13
资源大小:3016k
文件大小:3k
源码类别:

USB编程

开发平台:

Visual C++

  1. /*
  2.    //*************************************************************************
  3.    //
  4.    //                  P H I L I P S   P R O P R I E T A R Y
  5.    //
  6.    //           COPYRIGHT (c)   1997 BY PHILIPS SINGAPORE.
  7.    //                     --  ALL RIGHTS RESERVED  --
  8.    //
  9.    // File Name: D12CI.H
  10.    // Author: Wenkai Du
  11.    // Created: 8 Jun 98
  12.    // Modified:
  13.    // Revision: 2.2
  14.    //
  15.    //*************************************************************************
  16.    //
  17.    // 98/11/26  Bug fix: D12_ENDP5INTENABLE (WK)
  18.    // 98/12/2       Added D12_ReadMainEndpoint to support double buffer (WK)
  19.    //*************************************************************************
  20.    */
  21. #ifndef __D12CI_H__
  22. #define __D12CI_H__
  23. #define D12_NOLAZYCLOCK 0x02
  24. #define D12_CLOCKRUNNING        0x04
  25. #define D12_INTERRUPTMODE 0x08
  26. #define D12_SOFTCONNECT 0x10
  27. #define D12_ENDP_NONISO 0x00
  28. #define D12_ENDP_ISOOUT 0x40
  29. #define D12_ENDP_ISOIN 0x80
  30. #define D12_ENDP_ISOIO 0xC0
  31. #define D12_CLOCK_12M 0x03
  32. #define D12_CLOCK_4M 0x0b
  33. #define D12_SETTOONE            0x40
  34. #define D12_SOFONLY 0x80
  35. #define D12_DMASINGLE 0x00
  36. #define D12_BURST_4 0x01
  37. #define D12_BURST_8 0x02
  38. #define D12_BURST_16 0x03
  39. #define D12_DMAENABLE           0x04
  40. #define D12_DMA_INTOKEN 0x08
  41. #define D12_AUTOLOAD 0x10
  42. #define D12_NORMALPLUSSOF 0x20
  43. #define D12_ENDP4INTENABLE 0x40
  44. #define D12_ENDP5INTENABLE 0x80 // bug fixed in V2.1
  45. #define D12_INT_ENDP0OUT 0x01
  46. #define D12_INT_ENDP0IN 0x02
  47. #define D12_INT_ENDP1OUT 0x04
  48. #define D12_INT_ENDP1IN 0x08
  49. #define D12_INT_ENDP2OUT 0x10
  50. #define D12_INT_ENDP2IN 0x20
  51. #define D12_INT_BUSRESET 0x40
  52. #define D12_INT_SUSPENDCHANGE 0x80
  53. #define D12_INT_EOT 0x0100
  54. #define D12_SETUPPACKET 0x20
  55. #define D12_BUFFER0FULL 0x20
  56. #define D12_BUFFER1FULL 0x40
  57. #define D12_FULLEMPTY 0x01
  58. #define D12_STALL 0x02
  59. void D12_SetAddressEnable(unsigned char bAddress, unsigned char bEnable);
  60. void D12_SetEndpointEnable(unsigned char bEnable);
  61. void D12_SetMode(unsigned char bConfig, unsigned char bClkDiv);
  62. void D12_SetDMA(unsigned char bMode);
  63. unsigned char D12_GetDMA(void);
  64. unsigned short D12_ReadInterruptRegister(void);
  65. unsigned char D12_SelectEndpoint(unsigned char bEndp);
  66. unsigned char D12_ReadLastTransactionStatus(unsigned char bEndp);
  67. unsigned char D12_ReadEndpointStatus(unsigned char bEndp);
  68. void D12_SetEndpointStatus(unsigned char bEndp, unsigned char bStalled);
  69. //void D12_SendResume(void);
  70. //unsigned short D12_ReadCurrentFrameNumber(void);
  71. unsigned short D12_ReadChipID(void);
  72. unsigned char D12_ReadEndpoint(unsigned char endp, unsigned char len, unsigned char * buf);
  73. unsigned char D12_WriteEndpoint(unsigned char endp, unsigned char len, unsigned char * buf);
  74. void D12_AcknowledgeEndpoint(unsigned char endp);
  75. unsigned char D12_ReadMainEndpoint(unsigned char * buf); // V2.2
  76. unsigned char inportb(unsigned int addr);
  77. void outportb(unsigned int addr, unsigned char Data);
  78. #endif