اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام برنامه من برای داخل Keil هست و میخاوم مقدار یه متغیر و روی ال سی دی نمایش بدم . تابع نمایش ازم یه ورودی به صورت پویینتر کاراکتر میخواد و منم یه پویینتر کاراکتر تعریف کردم و مقدار متغیر و ریختم داخل پویینتر اما مشکل اینه ال سی دی یه چیزای درهمی نشون میده. از ال سی دی tft با درایور ssd1289 استفاده میکنم . اگه متغییرم ثابت بود میزاشتم داخل دبل کوتیشن قشنگ نشون میداد ولی چون ثابت نیست نمیتونم . مشکل و نمیدونم کسی کار کرده ممنون میشم راهنمایی کنه

    SSD1289_TextFont(uint16_t Xpos, uint16_t Ypos, uint8_t *str, uint16_t Color, uint16_t bkColor, uint16_t FONTx);

    این تابع من هست

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

    یه عکسی یه چیزی بذار تا بشه فهمید چی گفتی

    دیدگاه


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

      ; "A = (uint32_t) "258

      ;SSD1289_TextFont( 30 , 43 ,(uint8_t*)A , 0xF800 , 0xFFFF , FONT16 )

      این کد و که اجرا میکنم عدد و درست نمایش میده
      کد پایین و که اجرا میکنم یه چیزای عجیبی نمایش میده تو تصویر هست،
      تفاوت کد ها هم فقط اون دبل کوتیشن هست
      چون متغیر من برای تایمر هست و دائم مقدارش در حال تغیره ، نمیتونم مثل بالایی تعریفش کنم.
      ;A = (uint32_t)258


      ;SSD1289_TextFont( 30 , 43 ,(uint8_t*)A , 0xF800 , 0xFFFF , FONT16 )














      جدیدترین ویرایش توسط HossenMoezi; ۲۱:۵۴ ۱۴۰۱/۱۱/۱۱.

      دیدگاه


        #4
        پاسخ : مشکل نمایش متغییر در TFT

        این فانکشن مثل بقیه فانکشنهای text ورودی از نوع کاراکتر میگیره

        چیزی که داخل دبل کوتیشن نوشته میشه رشته کاراکتره ...
        عددی که شما میخوای نمایش بدی باید تبدیل به رشته بشه .

        معادل "258" میشه A=0x00323538
        معادل عدد ۲۵۸ میشه A=0x00000102

        برای تبدیل متغیر مدنظر به رشته کاراکتر کتابخونه conversation هست .
        یا در حالت عادی از sprintf(str, " %u", int) استفاده میشه .
        جدیدترین ویرایش توسط Amie.s.m; ۲۳:۵۷ ۱۴۰۱/۱۱/۱۱.

        دیدگاه


          #5
          پاسخ : مشکل نمایش متغییر در TFT

          ممنونم کاملا درسته فقط این تابع و چجوری باید پیاده کنم؟ورودی هاش چجوری هست؟اون مقدار دوم هم متوجه نشدم، همون و باید بنویسم؟ممنون از راهنماییتون

          دیدگاه


            #6
            پاسخ : مشکل نمایش متغییر در TFT

            نوشته اصلی توسط HossenMoezi نمایش پست ها
            ممنونم کاملا درسته فقط این تابع و چجوری باید پیاده کنم؟ورودی هاش چجوری هست؟اون مقدار دوم هم متوجه نشدم، همون و باید بنویسم؟ممنون از راهنماییتون
            دوست عزیز تابع جزو توابع استاندارد C هستش !
            همونطور که قبلا گفتم در کتابخانه های استاندارد توابع conversation همراه توضیحات و نحوه استفاده و غیره موجودن که جزو نیازهای اولیه هر زبان برنامه نویسی آشنایی با توابع استاندارده .

            نمونه کد ( در صورتیکه بخوایین خودتون تابع رو بنویسید و با طرز کارش آشنا بشید )

            https://www.sanfoundry.com/c-program-integer-to-string-vice-versa/

            و

            کد:
            int num = 123; 
            char snum[5]; // convert 123 to string [buf]
             itoa(num, snum, 10);

            یعنی ادیتور فاجعه بار تر از ادیتور این انجمن نداریم !
            جدیدترین ویرایش توسط Amie.s.m; ۲۰:۵۰ ۱۴۰۱/۱۱/۱۲.

            دیدگاه


              #7
              پاسخ : مشکل نمایش متغییر در TFT

              خیلی ممنونم حل شد
              یک دنیا ممنون

              دیدگاه

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