اطلاعیه

Collapse
No announcement yet.

اشکال در نمایش کاراکتر

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    اشکال در نمایش کاراکتر

    ّرنامه نوشتم برای اینکه یک عدد را از پورت سریال دریافت کنه و در ال سی دی نمایش بده. ولی چیزی که نمایش میده ، کاراکتر داغون و ناخواناست . باید چکارش کنم ؟

    این فایل پروتئوس :


    این هم کدش :
    کد:
    #include <mega32a.h>
    #include <stdio.h>
    
    #include <alcd.h>
    #include <delay.h>
    char a[5];
    char x;
    interrupt [USART_RXC] void usart_rx_isr(void)
    {
    x=UDR;
        
    
        }
    
    
    
    void main(void)
    {
    
    
        UCSRB=0x90;  //Enable Receive Interrupt
        UCSRC=0x86;  //Active USART
        UBRRH=0x00;  //baud=9600
        UBRRL=0x19;  //baud=9600
        #asm("sei")  //Enable All Interrupts
    
    
    
    
    
    
    // Alphanumeric LCD initialization
    // Connections are specified in the
    // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
    // RS - PORTA Bit 0
    // RD - PORTA Bit 1
    // EN - PORTA Bit 2
    // D4 - PORTA Bit 4
    // D5 - PORTA Bit 5
    // D6 - PORTA Bit 6
    // D7 - PORTA Bit 7
    // Characters/line: 16
    lcd_init(16);
    
    while (1)
          {
    lcd_clear();
    sprintf(a,"adad= %c",x);
    lcd_gotoxy(0,0);
    lcd_puts(a);
    delay_ms(2000);
    
          }
    }
    جدیدترین ویرایش توسط hossein.ahmadvand; ۱۹:۴۷ ۱۳۹۵/۰۵/۱۵.
    امضاندارم. میشه انگشت بزنم...؟

    www.AsanService.ir

    #2
    پاسخ : اشکال در نمایش کاراکتر

    سلام
    به نظرم مشکل اینه که آرایه a چهار کاراکتر بیشتر جا نمیگیره (یدونه هم کاراکتر null که به در آرایه آخر a قرار میگیره) و شما با دستور sprintf میخواید حدود 7 کاراکتر رو نمایش بدید که نمیشه!!

    دیدگاه


      #3
      پاسخ : اشکال در نمایش کاراکتر

      پیداش کردم. باندریت میکرو درست نبود.

      دلیل: ادغام دو پست برای جلوگیری از اسپم

      حالا اگر بخوام کاراکترهایی کهک وارد میکنم ، مستقیم نمایش داده نشن ، بعنی اول چندتاکاراکتر دریافت کنه ، بعد که کلمه ساخته شد، نمایش بده باید چکار کنم ؟
      امضاندارم. میشه انگشت بزنم...؟

      www.AsanService.ir

      دیدگاه

      لطفا صبر کنید...
      X