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

موضوع: تبدیل عدد به رشته بدون استفاده از تابع

  1. #1
    کاربر فعال arm-mohsen-avr آواتار ها
    تاریخ عضویت
    May 2011
    نام
    محسن جودی
    نوشته ها
    222
    تشکر
    200
    تشکر شده 149 بار در 101 پست

    New تبدیل عدد به رشته بدون استفاده از تابع

    با سلام به دوستان
    بازم اومدم

    من دارم با پورت سریال کار می کنم و نیاز به نمایش اعداد(صحیح و اعشاری) و رشته و کاراکتر دارم ، ار اونجایی که توابع در avrstudio کار نمی کنند . ( از جمله ftoa و itoa و غیره که در هدر های stdio , stdlib هستند )می خواستم خودم اینکار رو انجام بدم .تاحالا تونستم رشته و کارکتر رو نمایش بدهم و همچنین اعداد صحیح تک رقمی رو با استفاده از فرمول زیر می تونم چاپ کنم ولی مشکل اینه که وقتی عدد اعشاری شد یا طول عدد افزایش پیدا کند مثلا 10 رقمی باید چی کار کنم . روش پیشنهادی شما چیست //در پایین تا جایی که برای نمایش یک عدد است پیش رفتم می زارم . باتشکر
    [PHP]float adad=4;
    adad=adad+48;
    usart_send(adad);

    void usart_send( char chs)
    {
    while(!(UCSRA & (1<<UDRE)));
    UDR = chs;
    }[/PHP]

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


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

  4. #2
    کاربر فعال arm-mohsen-avr آواتار ها
    تاریخ عضویت
    May 2011
    نام
    محسن جودی
    نوشته ها
    222
    تشکر
    200
    تشکر شده 149 بار در 101 پست

    پیش فرض

    دوستان میشه یک متغیر رو تو یه ارایه کپی کرد ///
    به عنوان مثال :
    [PHP]float adaad=12345;
    float temp[4]={1,2,3,4,5};[/PHP]
    چجوری این کپی رو انجام بدم؟؟؟؟؟؟

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


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

    پیش فرض

    دایی جان این همه تابع سطح بالا تو سی هست فکر کنم یه جایی از تنظیمات رو درست انجام نمیدی که کار نمیکنه !
    خوب از sprintf استفاده کن ! اگه printff کار کنه اینم حتما کار میکنه و الگوشم به این ترتیبه
    کد:
    char temp[10];
    sprintf(temp,"%f",1.256);
    که با این دستور مقدار رشته شده توی متغییر تمپ قرار می گیره

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


  8. #4
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    12
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام دوستان
    من از sprintf برای نمایش اعداد اعشاری روی LCD استفاده کردم ولی همانطور که در شکل معلومه عدد اعشاری رو نمایش نمیده!!!!
    اگه راهنمایی کنید ممنون میشم
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Code.jpg
مشاهده: 39
حجم: 12.4 کیلو بایت   برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Output.jpg
مشاهده: 39
حجم: 79.2 کیلو بایت  

  9. #5
    کاربر فعال arm-mohsen-avr آواتار ها
    تاریخ عضویت
    May 2011
    نام
    محسن جودی
    نوشته ها
    222
    تشکر
    200
    تشکر شده 149 بار در 101 پست

    پیش فرض

    باید اینجوری بنویسی
    sprintf(lcd_buff,"%3.4f",data);


    با 4 رقم اعشار و 3 رقم صحیح

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

    پیش فرض

    دایی جان خوب معلومه کار نمیکنه چون این دستور به صورت پیش فرض به فقط اعداد بدون علامت رو نمایش میده و باید تو تنظیمات قسمت اعشاری اون رو هم فعال کنید ! تو ویناستودیو نمیدونم کجاش هست، تو winavr تو میک فایل میشه تنظیمش کرد

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


  12. #7
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    12
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    نقل قول نوشته اصلی توسط arm-mohsen-avr نمایش پست ها
    باید اینجوری بنویسی
    sprintf(lcd_buff,"%3.4f",data);


    با 4 رقم اعشار و 3 رقم صحیح
    آقا محسن اینجوری هم امتحان کردم فقط 4f رو LCD نمایش میده

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

    پیش فرض

    نقل قول نوشته اصلی توسط m.safavy نمایش پست ها
    سلام دوستان
    من از sprintf برای نمایش اعداد اعشاری روی LCD استفاده کردم ولی همانطور که در شکل معلومه عدد اعشاری رو نمایش نمیده!!!!
    اگه راهنمایی کنید ممنون میشم
    سلام مهندس
    تو Codevision اين قسمت رو تنظيم كردي(تو عكس)؟
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: CodeVision_1.JPG
مشاهده: 83
حجم: 70.3 کیلو بایت  
    ویرایش توسط sadmonew : 23-04-2012 در ساعت 22:40
    _____________________________________
    _____________________________________

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


  15. #9
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    12
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام
    آره الان پیداش کردم ممنون درست شد.

    راستی یه سوال دیگه هم داشتم مهندس
    من میخوام پیک سیگنال sin که بین 0 و 5 ولت تغیرات داره رو با ADC محاسبه کنم و مقدار آن را به LCD ارسال کنم
    ولی هر کار میکنم دقتش زیاد نمیشه
    مثلا وقتی پیک 5 ولته میکرو 4.86 رو نشون میده چه طوری میشه دقتش رو بالا برد
    ویرایش توسط m.safavy : 24-04-2012 در ساعت 00:43

  16. #10
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    سلام
    اگر شماتیک و برنامتون رو بذارید راحت تر می شه کمکتون کرد.
    یا به عبارت دیگه تنها راهی که ما بفهمیم شما دارین چی کار می کنین تا بتونیم کمکتون کنیم اینه که تیکه adc برنامه و شماتیکتون رو بذارین

  17. #11
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    12
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

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

نام: Code.jpg
مشاهده: 33
حجم: 136.5 کیلو بایت   برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Output.jpg
مشاهده: 24
حجم: 98.2 کیلو بایت  

  18. #12
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    12
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    دوستان و اساتید کسی نبود راهنمایی کنه؟

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

  1. پاسخ: 3
    آخرين نوشته: 24-03-2013, 18:38

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

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