اطلاعیه

Collapse
No announcement yet.

نمایش کاراکتر فارسی در GLCD از طریق مد USART

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

    نمایش کاراکتر فارسی در GLCD از طریق مد USART

    سلام کسی میتونه راهنمایی کنه؟
    کاراکترهای انگلیسی رو نمایش میده ولی فارسی رو نه
    عکس خروجی برنامه
    دانلود کنید.

    کد برنامه
    #include <mega16.h>#include <glcd.h>
    #include <font5x7.h>
    #include <stdio.h>
    #include <delay.h>
    #include "Graphic\Graphic.h"
    #include "FONT\Font.h"
    #include "FONT\font\f9x14.h"
    #include "FONT\font\AF12x16.h"
    #include "FONT\font\AF9x11.h"


    char usart_character = '\0';


    interrupt [EXT_INT2] void ext_int2_isr(void)
    {
    glcd_clear();
    }
    interrupt [USART_RXC] void ISR_reciever()
    {
    usart_character = getchar();
    glcd_putchar(usart_character);
    }
    void main(void)
    {
    GLCDINIT_t glcd_init_data;
    glcd_init_data.font=font5x7;
    glcd_init_data.readxmem=NULL;
    glcd_init_data.writexmem=NULL;
    glcd_init(&glcd_init_data);
    LcdFont(AF12x16);
    LcdFontSpace(2);

    SetLetter(P_LETTER);[COLOR=#28282B][FONT=Yekan] [/FONT][/COLOR]

    جدیدترین ویرایش توسط Nzrmohammad; ۲۱:۲۹ ۱۴۰۰/۰۳/۰۴.

    #2
    پاسخ : نمایش کاراکتر فارسی در GLCD از طریق مد USART

    سلام خدمت دوستان
    شما اول باید کد های اسکی فارسی رو بررسی بکنین
    بعد ببینین که معادل اونا تو ارتباط سریالتون چی میاد
    بعدش برای اون کدا فونت فرسی تعریف کنی
    همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
    لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
    تایپیک های من:
    حل تمام مشکلات atmega128a (eca.ir)
    آموزش کار با سایت (eca.ir)

    دیدگاه


      #3
      پاسخ : نمایش کاراکتر فارسی در GLCD از طریق مد USART

      نوشته اصلی توسط electromohammad نمایش پست ها
      سلام خدمت دوستان
      شما اول باید کد های اسکی فارسی رو بررسی بکنین
      بعد ببینین که معادل اونا تو ارتباط سریالتون چی میاد
      بعدش برای اون کدا فونت فرسی تعریف کنی
      سلام مثلا واسه حرف ب شد D0 میشه واسه یه کاراکتر بگید مراحل شو تا واسه بقیش انجام بدم؟ یا مثالی چیزی از این نمونه هست که من ببینمش؟

      دیدگاه


        #4
        پاسخ : نمایش کاراکتر فارسی در GLCD از طریق مد USART

        سلام خدمت دوستان
        ببخشید که الان وقت ندارم (که کد کامل بنویسم) (سی هم بلد نیستم)
        ولی ساختارش اینجوریه:
        اول کاراکترا رو می گیری از سریال
        اگه فارسی بود وارد این بشه : (در ضمن کاراکتر ها رو توی یه int ذخیره کن) ( لازم نیست کاری برای جدا سازی فارسی و انگلیسی بکنی) ( تو case else در صورت فارسی نبودن همون انگلیسیش تایپ میشه)
        کد PHP:


        dim serialinput 
        as int
        Select 
        Case serialinput
          
        Case d0 : Print "ب" 
          
        Case ??? : Print "???" 
          
        Case ??? : Print "???" 
          
        Case Else : Print serialinput 
        چون توی پوشش پی اچ پی مشکل داره: (فارسی نویسی)
        1- اگه مساوی با D0 بود ب نوشته شود ( از پرینت برای راحتی کار استفاده کردم)
        2- اینا رو دیگه پیدا می کنی
        3- اینم همین جور الی آخر ( فقط یه چیزی هر حرفی چند تا حالت داره مثلا آ که آ اول و وسط و آخر داره و باید براش فونت تعریف کنی یا س و و و) (هر حالتشون هم کدشون باهم متفاوته مثلا اگه ب D0 باشه ممکنه بـ D1 باشه)
        4- اینم میگه که اگه فارسی نبود همون رو تایپ کن که نتیجه اش میشه همون انگلیسی هایی که نوشته شدن)

        امیدوارم براتون مفید باشه (هنوز خودم شک دارم که آیا اگه ما کد اسکی رو بریزیم توی INT که چهار برابر byte هستش و اسکی هم byte هستش (قبلا ها 128 بیت بود) مشکلی به وجود نمی آره؟؟؟)( چون 0000 های بعدش محاسبات رو یجوری می کنه. باید چی کار کرد؟ کاری لازم نیست بکنیم؟؟؟)
        کد هم بسکامه
        همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
        لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
        تایپیک های من:
        حل تمام مشکلات atmega128a (eca.ir)
        آموزش کار با سایت (eca.ir)

        دیدگاه


          #5
          پاسخ : نمایش کاراکتر فارسی در GLCD از طریق مد USART

          نوشته اصلی توسط electromohammad نمایش پست ها
          سلام خدمت دوستان
          ببخشید که الان وقت ندارم (که کد کامل بنویسم) (سی هم بلد نیستم)
          ولی ساختارش اینجوریه:
          اول کاراکترا رو می گیری از سریال
          اگه فارسی بود وارد این بشه : (در ضمن کاراکتر ها رو توی یه int ذخیره کن) ( لازم نیست کاری برای جدا سازی فارسی و انگلیسی بکنی) ( تو case else در صورت فارسی نبودن همون انگلیسیش تایپ میشه)
          کد PHP:


          dim serialinput 
          as int
          Select 
          Case serialinput
            
          Case d0 : Print "ب" 
            
          Case ??? : Print "???" 
            
          Case ??? : Print "???" 
            
          Case Else : Print serialinput 
          چون توی پوشش پی اچ پی مشکل داره: (فارسی نویسی)
          1- اگه مساوی با D0 بود ب نوشته شود ( از پرینت برای راحتی کار استفاده کردم)
          2- اینا رو دیگه پیدا می کنی
          3- اینم همین جور الی آخر ( فقط یه چیزی هر حرفی چند تا حالت داره مثلا آ که آ اول و وسط و آخر داره و باید براش فونت تعریف کنی یا س و و و) (هر حالتشون هم کدشون باهم متفاوته مثلا اگه ب D0 باشه ممکنه بـ D1 باشه)
          4- اینم میگه که اگه فارسی نبود همون رو تایپ کن که نتیجه اش میشه همون انگلیسی هایی که نوشته شدن)

          امیدوارم براتون مفید باشه (هنوز خودم شک دارم که آیا اگه ما کد اسکی رو بریزیم توی INT که چهار برابر byte هستش و اسکی هم byte هستش (قبلا ها 128 بیت بود) مشکلی به وجود نمی آره؟؟؟)( چون 0000 های بعدش محاسبات رو یجوری می کنه. باید چی کار کرد؟ کاری لازم نیست بکنیم؟؟؟)
          کد هم بسکامه
          آهااا خیلی خیلی ممنون این روش امتحان می کنم

          دیدگاه


            #6
            پاسخ : نمایش کاراکتر فارسی در GLCD از طریق مد USART

            خیلی خیلی ممنون واقعا بالاخره درست شد
            جدیدترین ویرایش توسط Nzrmohammad; ۲۲:۰۲ ۱۴۰۰/۰۳/۰۶.

            دیدگاه


              #7
              پاسخ : نمایش کاراکتر فارسی در GLCD از طریق مد USART

              سلام خدمت دوستان
              میشه نمونه کدتون رو بذارین؟
              همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
              لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
              تایپیک های من:
              حل تمام مشکلات atmega128a (eca.ir)
              آموزش کار با سایت (eca.ir)

              دیدگاه


                #8
                پاسخ : نمایش کاراکتر فارسی در GLCD از طریق مد USART

                همه کاراکترها رو کامل کنم میفرستم همشو

                دیدگاه

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