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

موضوع: مشکل با sprintf در avrgcc

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2010
    نام
    eslamshahr
    نوشته ها
    21
    تشکر
    23
    تشکر شده 33 بار در 15 پست

    پیش فرض مشکل با sprintf در avrgcc

    با سلام
    دوستان من بتازگی کار با نرم افزار avrstudio5 رو شروع کردم اما اول کار به مشکل خوردم
    مشکل من با این تابع sprintf هست نمیتونم مقادیر اعشاری رو باهاش نشون بدم آیا تنظیمات خاصی مثل codvision و iar داره ؟
    این برنامه ای هست که در محیط avrgcc نوشتم :
    کد:
    #include<avr/io.h>
    #include<avr/pgmspace.h>
    #include<util/delay.h>
    #include<stdio.h>
    #include "lcd.h"
    voidmain(void)
    {
    charbuffer[7];
    floatnum=13.2634;
    
    lcd_init(LCD_DISP_ON);
    lcd_clrscr();
    lcd_home();
    lcd_puts("mojtaba");
    _delay_ms(1000);
    
    while(1){
    
    lcd_clrscr();
    lcd_home();
    sprintf(buffer,"%6.3f",num);
    lcd_puts(buffer);
    _delay_ms(4000);
    
    }
    }
    
    وقتی که توی عمل تست میکنم lcd اینو نشون میده : ?

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


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #2
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    با سلام و تبريك عيد فطر
    به صورت زير عمل كن:
    تو محيط AVRStudio به منوي Project-->Configuration Options در پنچره باز شده سمت چپ روي Libraries كليك كن در قسمت Available Link Objects اول libprintf_flt.a رو انتخاب كن و سپس روي دكمه Add Library كليك كن در مرحله دوم libm.a رو انتخاب كن و روي دكمه Add Library دوباره كليك كن و بعدش روي OK كليك كن. يك بار AVRstudio رو ببنديد و دوباره اجرا كنيد.

    حالا تو برنامتون اين اصلاح رو انجام بديد. يعني بنويسيد "double num=13.2634;" حالا پروژتون رو كامپايل كنيد. ببينيد مشكلتون حل شد.

    ________________________
    http://sadmonew.blogfa.com
    ________________________

  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2010
    نام
    eslamshahr
    نوشته ها
    21
    تشکر
    23
    تشکر شده 33 بار در 15 پست

    پیش فرض

    عید شما هم مبارک

    آقا این Project-->Configuration Optionsکجاست من نمیبینم :



  6. #4
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2010
    نام
    eslamshahr
    نوشته ها
    21
    تشکر
    23
    تشکر شده 33 بار در 15 پست

    پیش فرض

    عید شما هم مبارک

    آقا این Project-->Configuration Optionsکجاست من نمیبینم :



  7. #5
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    شما از AVRstodio 5 استفاده مي كني؟
    خوب اجازه بده منم اينو نصب كنم.قبلا دانلودش كردم.
    توضيحات رو روي AVRstudio 5 در پست بعدي براتون قرار ميدم.

    ________________________
    برنامه نويسي، الكترونيك(PE)
    ________________________

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


  9. #6
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    با سلام
    تو محيط AVR studio 5 به صورت زير عمل كن:
    Project-->test3 Properties تو پنجره باز شده سمت چپ، Toolchain رو انتخاب كن و بعدش روي Libraries كليك كن. در قسمت (Libraries(-Wl -l با زدن بر روي دكمه + در سمت راست ابتدا عبارت libprintf_flt.a و بعدش عبارت libm.a رو اضافه كن.
    حالا در سمت چپ پنجره Toolchain روي Miscellaneous كليك كن. در قسمت سفيد رنگ مقابل Other Linker Flags عبارت زير رو وارد كن. وبا زدن بر روي دگمه Save پروژت رو ذخيره كن.
    Wl,-u,vfprintf -lprintf_flt-
    و در آخر پروژتون رو كامپايل كن. (Build-->Rebuild test3).

    ________________________
    برنامه نويسي، الكترونيك(PE)
    ________________________
    ویرایش توسط sadmonew : 31-08-2011 در ساعت 02:26

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


  11. #7
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2010
    نام
    eslamshahr
    نوشته ها
    21
    تشکر
    23
    تشکر شده 33 بار در 15 پست

    پیش فرض

    واقعا ممنونم
    میشه بگید اینا رو از کجا آوردید من با iar هم کار میکنم اونجا یکسری xlink command هست یعنی اینا یه چیزایی تو مایه های اونا هستند ؟
    باز هم ممنونم

  12. #8
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    مشكلتون حل شد؟

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


  14. #9
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2010
    نام
    eslamshahr
    نوشته ها
    21
    تشکر
    23
    تشکر شده 33 بار در 15 پست

    پیش فرض

    آره حل شده الان 13.263 رو نشون میده

    ممنون

  15. #10
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2010
    نام
    eslamshahr
    نوشته ها
    21
    تشکر
    23
    تشکر شده 33 بار در 15 پست

    پیش فرض

    دوست عزیز این ها : "Wl,-u,vfprintf -lprintf_flt-" رو توی make file که winavr تولید میکنه دیدم اما هنوز نفهمیدم این ها "libprintf_flt.a" و "libm.a" را از کجا آوردید ، ممنون میشم ن رو راهنمایی کنید تا توی موارد مشایه این چنینی به مشکل برخورد نکنم

    ممنون از توجهتون

  16. #11
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    با سلام
    خوب من رفتم فروماي خارجي رو توشون يه سرچ كردم ديدم افراد ديگه هم همين مشكل رو داشتن. البته پيدا كردن راه حل يه مقدار سخت بود چون تو بيشتر فروما فقط سوال رو پرسيده بودن اما از جواب خبري نبود. خوب اونها يه مقدار از ما جلوتر هستند(البته به واسطه امكانات). البته تجربه هم تو اين مواقع يه مقدار به آدم كمك ميكنه. بايد حوصله زيادي به خرج بديد. موفق باشيد.

    ________________________
    برنامه نويسي، الكترونيك(PE)
    ________________________

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


  18. #12
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2010
    نام
    eslamshahr
    نوشته ها
    21
    تشکر
    23
    تشکر شده 33 بار در 15 پست

    پیش فرض

    سلام دوست عزیز
    می تونم بگم جوابم رو توی لینک زیر گرفتم ، از راهنمایی تون بازم ممنونم
    http://winavr.scienceprog.com/avr-gc...n-avr-gcc.html

  19. #13
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    با سلام
    اگه سوالي داريد در خدمتم. اگه دير هم جواب ميدم به اين دليل هستش كه يه مقدار سرم شلوغه.


    ________________________
    برنامه نويسي، الكترونيك(PE)
    ________________________

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


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

  1. پاسخ: 0
    آخرين نوشته: 07-04-2013, 10:10
  2. مشکل با sprintf در coIDE
    توسط mehdi_nxp در انجمن LPC series (NXP)
    پاسخ: 0
    آخرين نوشته: 10-12-2012, 20:34
  3. float در دستور sprintf
    توسط آقاجون در انجمن LPC series (NXP)
    پاسخ: 0
    آخرين نوشته: 20-07-2012, 19:36
  4. پاسخ: 1
    آخرين نوشته: 01-07-2012, 19:12

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

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