In chuối lên PC qua cổng nối tiếp ( Printf )

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • loc.plsoft
    Nhập môn đệ tử
    • Sep 2010
    • 4

    #1

    In chuối lên PC qua cổng nối tiếp ( Printf )

    Mọi người vui lòng cho em hỏi sao ct của em sử dụng hàm printf để un một chuỗi từ PIC lên PC qua rs232 nhưng khi mở Terminal lên thì lại hiển thị các kí tự không đọc đc là gì hết ạ.

    Mong mọi người chỉ dẫn giúp.

    Rất cám ơn !

    Code của em đây ạ.
    Code:
    #include <16f887.h> 
    #include <C:\Program Files\PICC\Devices\DEFS_16F877A.h> 
    #include <string.h>
    #use delay(clock=20000000) 
    #FUSES  NOWDT,  HS,  NOPUT,  NOPROTECT,  NODEBUG,  NOBROWNOUT, NOLVP, NOCPD, NOWRT 
    #USE RS232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)//,bits=9)
    #byte portC = 0x07
    int k=0;
    int v=0;
    int16 count = 0;
    char* temp1;
    
     #INT_RDA 
     VOID RECEVICE() 
     { 
    
     
             char c; 
             c = getc(); 
             putc(c);
             if(c=='a') {
                output_high(pin_A1); }         
             else {
                output_low(pin_A1); } 
              
     
     } 
    #int_timer0
    void interrupt_timer0()
    {
          set_timer0(57); // 256 - 199
          ++count;
          if (count >=95) // 98 x 199 x 51.2 ~ 1 giay
          {
             count =0;
    
             printf("N Phuoc Loc"); 
          }
    }
    
    VOID MAIN() 
    { 
    
    set_tris_a( 0x00 );
    
    
    
              
              setup_timer_0(RTCC_DIV_256); // timer 0 mo^~i la^`n ta(ng 1 ?o+n vi. ma^'t 51.2 us
              set_timer0(100); // 199 x 51.2 = 10188.8 us ( 256 - 57 = 199)
              
       
              enable_interrupts(int_timer0);
              enable_interrupts(int_rb); 
              enable_interrupts(INT_RDA); 
              
              
               
       while(TRUE) 
         {  
               enable_interrupts(global);
         }
    }
    Nếu em dùng proteus và terminal thì nó chạy bình thường ạ !!!!!!
  • loc.plsoft
    Nhập môn đệ tử
    • Sep 2010
    • 4

    #2
    help mình với !

    Comment

    • tinh08260491
      Nhập môn đệ tử
      • Sep 2010
      • 7

      #3
      bạn xem phần khai báo tốc độ baud trên code là 9600 và trên phần mềm máy tính là trùng nhau chưa.

      Comment

      • loc.plsoft
        Nhập môn đệ tử
        • Sep 2010
        • 4

        #4
        Mình khai báo trùng nhau, nhưng không hiểu sao nó lại nhận được các kí tự ngoằn nghèo, không biết tại sao nữa !

        Comment

        • longtu
          Đệ tử 6 túi
          • Jul 2007
          • 146

          #5
          Nguyên văn bởi loc.plsoft View Post
          Mình khai báo trùng nhau, nhưng không hiểu sao nó lại nhận được các kí tự ngoằn nghèo, không biết tại sao nữa !
          Thử đọc luồng này xem, trong này mình có nói sử dụng thach anh nội xem sao:

          Comment

          • loc.plsoft
            Nhập môn đệ tử
            • Sep 2010
            • 4

            #6
            Rất cám ơn longtu, để em thử xem sao.

            Comment

            Working...