Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #define POWER   0x01
  2. #define CLKREC  0x0f
  3. #define E0CSR   0x11
  4. #define E0CNT   0x16
  5. #define FIFO0   0x20
  6.  
  7. /////////////////////////////////////
  8. //  Generated Initialization File  //
  9. /////////////////////////////////////
  10.  
  11. #include "compiler_defs.h"
  12. #include "C8051F380_defs.h"
  13.  
  14. // Peripheral specific initialization functions,
  15. // Called from the Init_Device() function
  16. void PCA_Init()
  17. {
  18.     PCA0MD    &= ~0x40;
  19.     PCA0MD    = 0x00;
  20. }
  21.  
  22. void Oscillator_Init()
  23. {
  24.     FLSCL     = 0x90;
  25.     CLKSEL    = 0x03;
  26.     OSCICN    = 0xC3;
  27. }
  28.  
  29. // Initialization function for device,
  30. // Call Init_Device() from your main program
  31. void Init_Device(void)
  32. {
  33.     PCA_Init();
  34.     Oscillator_Init();
  35. }
  36.  
  37. char USB_Read(char Index)
  38. {
  39.     while ((USB0ADR & 0x80) == 0x80);
  40.     USB0ADR=(0x80 | Index);
  41.     while ((USB0ADR & 0x80) == 0x80);
  42.     return USB0DAT;
  43. }
  44.  
  45.  
  46. void USB_Write(char Index,char Value)
  47. {
  48.     while ((USB0ADR & 0x80) == 0x80);
  49.     USB0ADR=(Index);
  50.     USB0DAT=Value;
  51. }
  52.  
  53. void USB_Init(void)
  54. {
  55.     USB_Write(POWER,0x18);
  56.     USB_Write(CLKREC,0x8f);
  57.     USB0XCN=0xe0;
  58.     USB_Write(POWER,0);
  59. }
  60.  
  61. void main (void)
  62. {
  63.     char Tmp,Index,Len,Buf[16];
  64.  
  65.     Init_Device();
  66.     USB_Init();
  67.  
  68.  
  69.     do
  70.     {
  71.         Tmp=USB_Read(E0CSR);
  72.     } while ((Tmp & 1)==0);
  73.  
  74.     Len=USB_Read(E0CNT);
  75.  
  76.     for (Index=0;Index<Len;Index++)
  77.     {
  78.         Buf[Index]=USB_Read(FIFO0);
  79.  
  80.     }
  81.  
  82.     while (1) ;
  83. }