NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2673 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 13 از 13

موضوع: نمايش اعداد اعشاري روي lcd

  1. #1
    کاربر علاقه مند mostafa-plc آواتار ها
    تاریخ عضویت
    May 2010
    نوشته ها
    28
    تشکر
    14
    تشکر شده 5 بار در 4 پست

    پیش فرض نمايش اعداد اعشاري روي lcd

    سلام.
    يه سوال دارم كه تا حالا بهش برنخورده بودم لطفاً اساتيد راهنماييم كنن.

    چطوري نتيجه يه محاسبه كه يه عدد اعشاري هست رو روي lcd كاراكتري و همچنين n96 نشون ميديم؟!!!
    دستور تبديلش چيه؟
    اينم بگم sprintf جواب نميده.

    ممنون

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    سلام
    من قبلا از این روش استفاده کرده بودم ولی یادم نیست برای چی بود !!!
    با تقسیم و ضرب کردن مقدار صحیح و اعشار رو جدا کن و جداگانه نمایش بده
    دات بینشون رو هم جداگانه میتونی قرار بدی
    *** اللّهم عجّل لولیک الفرج ***

  4. کاربران : 3 تشکر کرده اند از شما Doloop برای ارسال این پست سودمند:


  5. #3
    مدیر انجمن Aghaeifar آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    علی آقائی فر
    نوشته ها
    751
    تشکر
    552
    تشکر شده 975 بار در 440 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mostafa-plc نمایش پست ها
    سلام.

    اينم بگم sprintf جواب نميده.
    من که n بار استفاده کردم جواب داده.
    ما در انتظار رویت خورشیدیم ...

    اللهم عجل لولیک الفرج

  6. #4
    کاربر علاقه مند mostafa-plc آواتار ها
    تاریخ عضویت
    May 2010
    نوشته ها
    28
    تشکر
    14
    تشکر شده 5 بار در 4 پست

    پیش فرض

    سلام.
    حسين جان آره منم همين راه به نظرم رسيد كه از Mod استفاده كنم و... ولي خواستم مطمئن شم روش ساده تري تري داره يا نه...

    علي آقا دستور من اينه:
    کد:
    sprintf(result,"%f",floatnum  );
    کد:
    tftlcd_putsf(result,RED,WHITE,0);
    ولي روي lcd n96 به جاي عدد مربع هاي سفيد نيمه خالي نشون ميده.

  7. #5
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    این قاعدتا باید جواب بده منم باهاش مشکلی نداشتم - احتمالا برر می گرده به تنظیمات کامپایلر - چرا کمه این توابع به صورت کامل حافظه زیادی میخواد کامپایلر به صورت پیشفرض این توابع رو مینیمم میکنه!
    توی iar این گذینه رو دیدم ولی تو کیل این گذینه رو نمی بینم ! البته منم تا حالا این مشکل رو نداشتم

  8. #6
    مدیر انجمن Aghaeifar آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    علی آقائی فر
    نوشته ها
    751
    تشکر
    552
    تشکر شده 975 بار در 440 پست

    پیش فرض

    مصطفی من همین الان این کد رو روی lcdn96 خودم در کیل با LPc1768 تست کردم عدد رو با اعشار بدون مشکل نمایش داد.
    همون طور که اقای مزارعی گفتن به نظر من هم به تنظیمات کامپایلر بر می گرده که البته برای من روی حالت پیشفرض کیل قرار داره.

    کد:
        char buff[20];
        float a=3.234;
        sprintf(buff, "%f", a);
        tftlcd_init();
        tftlcd_gotoxy(1,2);
        tftlcd_puts(buff, BLACK, WHITE, 1);
    ویرایش توسط Aghaeifar : 20-08-2012 در ساعت 13:23
    ما در انتظار رویت خورشیدیم ...

    اللهم عجل لولیک الفرج

  9. کاربران : 5 تشکر کرده اند از شما Aghaeifar برای ارسال این پست سودمند:


  10. #7
    کاربر علاقه مند mostafa-plc آواتار ها
    تاریخ عضویت
    May 2010
    نوشته ها
    28
    تشکر
    14
    تشکر شده 5 بار در 4 پست

    پیش فرض

    علي آقا ممنون مشكلم حل شد
    اشتباه من اين بود كه متغير result م رو char عادي تعريف نكرده بودم و به صورت string يعني
    کد:
    char *result
    تعريف كرده بودم .

    حالا يه مشكل جديد!!!!!
    اين همه eror چيه؟!! :
    کد:
    compiling LCD n96.c...
    LCD n96.c(386): warning:  #223-D: function "sprintf" declared implicitly
    LCD n96.c(656): warning:  #223-D: function "sprintf" declared implicitly
    LCD n96.c(924): warning:  #223-D: function "sprintf" declared implicitly
    LCD n96.c(1192): warning:  #223-D: function "sprintf" declared implicitly
    linking...
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(lludiv10.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(strcmp.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$fnorm2(fnorm2_noclz.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$funder(funder.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .constdata(bigflt0.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(_printf_fp_infnan.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$dleqf(dleqf.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$frleqf(frleqf.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$dcmpinfnan(dcmpin.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(__printf.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$fleqf(fleqf.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$retnan(retnan.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section CL$$btod_d2e_norm_op1(btod.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$f2d(f2d.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$dcmpinfnan(fcmpin.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(sys_stackheap_outer.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$dflt(dflt_noclz.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section CL$$btod_d2e_denorm_low(btod.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section locale$$code(lc_numeric_c.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$trapveneer(trapv.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section CL$$btod_d2e(btod.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section CL$$btod_emul(btod.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section CL$$btod_ediv(btod.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section i.__ARM_fpclassify(fpclassify.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(rtudiv10.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(noretval__2sprintf.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .ARM.Collect$$rtentry$$0000000D(rtentry2.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(sam7.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text_udiv(aeabi_sdiv.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section locale$$data(lc_numeric_c.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(sys_exit.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$dcheck(dcheck.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$dcheck1(dcheck1.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(rt_locale_intlibspace.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$fcheck(fcheck.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$fcheck1(fcheck1.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(libspace.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(exit.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .ARM.Collect$$libinit$$0000002F(libinit2.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(_sputc.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .ARM.Collect$$_printf_percent$$00000003(_printf_f.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$ieeestatus(istatus.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(heapauxi.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .ARM.Collect$$libshutdown$$0000000F(libshutdown2.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$printf1(printf1.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section x$fpl$fpinit(fpinit.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .ARM.Collect$$rtexit$$00000003(rtexit2.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .text(use_no_semi.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section i.__ARM_common_call_via_r2(__printf.o).
    LCD n96.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section i.__ARM_common_call_via_r1(__printf.o).
    LCD n96.axf: Error: L6407W: Sections of aggregate size 0xbe0 bytes could not fit into .ANY selector(s).
    Target not created
    اصلاً معني خاصيم ندارن ولي موقع كامپايل اينا رو گير ميده!
    ویرایش توسط mostafa-plc : 20-08-2012 در ساعت 18:10

  11. #8
    کاربر علاقه مند mostafa-plc آواتار ها
    تاریخ عضویت
    May 2010
    نوشته ها
    28
    تشکر
    14
    تشکر شده 5 بار در 4 پست

    پیش فرض

    الان فهميدم كه اين ارور ها رو واس حجم برنامم ميگيره و ربطي به دستورات sprintf و اينا نداره! بايد حجم رو كم كنم.

    ممنون از همفكريتون دوستان.

  12. #9
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    الان جای یه سوال مطرحه که چرا دوستان فکر میکنن که اشاره گر به متغیر کارکتری رو به معنای یه String معنی میکنن ؟! من تو کد های نوشته شده توسط آقای تروشه این اشتباه رو به وفور دیدم !

  13. #10
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    نقل قول نوشته اصلی توسط agape نمایش پست ها
    الان جای یه سوال مطرحه که چرا دوستان فکر میکنن که اشاره گر به متغیر کارکتری رو به معنای یه string معنی میکنن ؟! من تو کد های نوشته شده توسط آقای تروشه این اشتباه رو به وفور دیدم !
    این تیکه را میشه بازتر کنید درست و غلطشو بگید .من نگرفتم چی درسته چی غلط !

  14. تشکرها از این نوشته :


  15. #11
    کاربر علاقه مند mostafa-plc آواتار ها
    تاریخ عضویت
    May 2010
    نوشته ها
    28
    تشکر
    14
    تشکر شده 5 بار در 4 پست

    پیش فرض

    نقل قول نوشته اصلی توسط agape نمایش پست ها
    الان جای یه سوال مطرحه که چرا دوستان فکر میکنن که اشاره گر به متغیر کارکتری رو به معنای یه String معنی میکنن ؟! من تو کد های نوشته شده توسط آقای تروشه این اشتباه رو به وفور دیدم !

    agape جان تا اونجايي كه من ميدونم و البته تو كتاب آقاي جعفر نژاد هم گفته، در c نوع متغير string‌ نداريم و اگه نياز داشته باشيم بايد يه pointer با نوع char ايجاد كنيم و string ما از اولين خونه شروع به پر شدن ميكنه و نوشته ميشه، اينجا كمي بحث شده:

    Why there is no string data type in C?

    البته واس منم سواله دقيقاً چرا اين راه حلشه ولي خب استفاده ميشه به هر حال....
    ویرایش توسط mostafa-plc : 20-08-2012 در ساعت 21:04

  16. #12
    مدیر انجمن Aghaeifar آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    علی آقائی فر
    نوشته ها
    751
    تشکر
    552
    تشکر شده 975 بار در 440 پست

    پیش فرض

    string یه سری کارکتر (آرایه) از نوع char هست که به کارکتر نول ختم شده باشه. انتهای string از روی همین نول مشخص میشه.
    اسم آرایه هم به تنهایی اشاره گری به ابتدای آرایه هست و نیازی نیست از اول یه اشاره گر به المان اولش تعریف بشه.
    اما این درست نیست که یه اشاره گره خالی فقط تعریف کنیم! باید سایز string مشخص باشه!!!

    البته این تعریفی هست که در C بهش توی کتاب ها اشاره شده، من نمی دونم این آیا با متغیر نوع string که در c++ وجود داره تفاوت جزئی یا کلی داره یا نه!
    ما در انتظار رویت خورشیدیم ...

    اللهم عجل لولیک الفرج

  17. کاربران : 2 تشکر کرده اند از شما Aghaeifar برای ارسال این پست سودمند:


  18. #13
    تازه وارد
    تاریخ عضویت
    Nov 2016
    نوشته ها
    1
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض درخواست کمک فوری:(

    سلام.دوستان من میخام دستور ی ال سی دی رو به ال سی دی n96تغییر بدم.کار خودم نیست اما نیاز پیدا کردم.دستورش اینه

    sprintf(as,"%c%c%c%c%c%c-",GPS_Data[y_Save-45],GPS_Data[y_Save-44],GPS_Data[y_Save-43],GPS_Data[y_Save-42],GPS_Data[y_Save-41],GPS_Data[y_Save-40]);
    lcd_puts(as,YELLOW,0,BLACK);
    الانبایدطوری تبدیلش کنم که تویn96نشون داده بشه.
    میشه لطفا راهنمایی کنید؟
    ممنون

موضوعات مشابه

  1. پاسخ: 6
    آخرين نوشته: 25-03-2012, 00:56
  2. تابلوي روان
    توسط saeed_niknami در انجمن AVR
    پاسخ: 22
    آخرين نوشته: 22-07-2009, 18:07
  3. ساخت پروگرامر براي اي وي ار
    توسط mehrdad010011 در انجمن AVR
    پاسخ: 3
    آخرين نوشته: 23-06-2009, 16:57
  4. تابلوي روان چند رنگه
    توسط geshtapo در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 30-07-2008, 11:22
  5. تابلوي روان در هوا
    توسط saeed_niknami در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 29-10-2007, 18:48

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •