Thông báo

Collapse
No announcement yet.

[TUT] Giao tiếp USB HID dành cho các bạn sử dụng MPLAB C18 đây!!!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    Hid với MPLAB
    Thảo luận - USB với C18 | Cộng đồng cơ điện tử Việt Nam | Mechatronics
    Giao tiếp VC++ 6.0
    Share - Lập trình giao tiếp USB với Hid (C++) | Cộng đồng cơ điện tử Việt Nam | Mechatronics

    Comment


    • #17
      #include<p18f4520.h>

      #pragma config WDT=ON,WDTPS=128
      #pragma config OSC=HS
      #pragma config LPT1OSC = OFF
      #pragma config PBADEN = OFF
      #pragma config STVREN = ON
      #pragma config LVP = OFF
      #pragma config XINST = OFF
      #pragma config CP0 = OFF
      #pragma config CP1 = OFF
      #pragma config CPB = OFF
      #pragma config WRT0 = OFF
      #pragma config WRT1 = OFF
      #pragma config WRTB = OFF
      #pragma config WRTC = OFF
      #pragma config EBTR0 = OFF
      #pragma config EBTR1 = OFF
      #pragma config EBTRB = OFF
      // bien toan cuc
      unsigned int count=0;

      // prototype
      void init_timer0();

      void low_interrupt_isr();
      // chuong trinh main

      void main(void)
      {
      init_timer0();
      TRISD=0X00;
      RCONbits.IPEN=1;
      INTCONbits.GIEH=1;
      INTCONbits.GIEL=1;
      while(1)
      {

      LATD=1+count;

      }
      }
      // chuong trinh con
      void init_timer0()
      {
      unsigned int timer0;
      T0CONbits.TMR0ON = 0; // turn off timer0

      T0CONbits.T08BIT = 0; // set mode 16bit timer0
      TMR0L = 0xF6; //
      TMR0H = 0x3B;
      T0CONbits.T0CS = 0; // select internal clock include crystal
      T0CONbits.PSA = 1; // no prescaler
      INTCONbits.T0IE = 1; // enable timer0 interrupt
      INTCONbits.T0IF = 0; // clear interrupt timer0 flag
      T0CONbits.TMR0ON = 1;
      }
      // chuong trinh ngat


      #pragma code vector_low = 0x18
      void vector_low(void)
      {
      _asm
      goto low_interrupt_isr
      _endasm
      }
      //////////////////////////////////////////////////
      #pragma code
      #pragma interruptlow low_interrupt_isr
      void low_interrupt_isr()
      {
      INTCONbits.TMR0IF = 0; //clear interrupt flag
      T0CONbits.TMR0ON = 0; //stop timer 0
      TMR0H = 0xF6; //reconfig timer 0
      TMR0L = 0x3B; //1ms interrupt
      //CODE HERE
      count++;
      //END CODE
      T0CONbits.TMR0ON = 1; //start timer 0
      }

      Comment


      • #18
        mọi người xem giùm đoạn code này của mình với mình ngắt mà không đươc

        Comment


        • #19
          chào mọi người, mình mới bắt đầu tìm hiểu USB, muốn làm một cái giao tiếp HID đơn giản. Vì vậy mình định dùng TUT này, sửa đi cho phù hợp với yêu cầu của mình. Tuy nhiên khi mình biên dịch TUT này và mô phỏng trên proteus 7.8 thì báo lỗi timeout như hình vẽ. (mình dùng C18 bản 9.80). Mình không hiểu tại sao bị lỗi như vậy và cách khắc phục như thế nào. mong mọi người chỉ giúp với. Click image for larger version

Name:	1.jpg
Views:	1
Size:	114.5 KB
ID:	1386725

          Comment

          Về tác giả

          Collapse

          minh_cly Tìm hiểu thêm về minh_cly

          Bài viết mới nhất

          Collapse

          Đang tải...
          X