اطلاعیه

Collapse
No announcement yet.

کار نکردن یه برنامه

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

    کار نکردن یه برنامه

    سلام دوستان
    کسی میدونه چرا این برنامه کار نمیکنه؟
    اگه float رو به int
    و f% رو به d% تغییر بدم جواب 12 روی LCD چاپ میشه. ولی من میخوام اعشاری محاسبه کنه و 4.1152263 رو روی LCD چاپ کنه.

    [code=c]
    #include <mega128a.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <lcd.h>
    #asm
    .equ __lcd_port = 0x1B // LCD: Port A
    #endasm

    /******************** Main Function *******************/
    void main()
    {
    char str1[]="12.3456789";
    float A;
    char str2[];
    lcd_init(16);
    lcd_clear();
    lcd_gotoxy(0,0);
    A=atof(str1);
    A=A/3;
    sprintf(str2,"%f",A);
    puts(str2);
    lcd_puts(str2);
    }
    [/code]
    http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

    #2
    پاسخ : کار نکردن یه برنامه

    سلام
    [code=c]atof
    Prototype double atof(char *s);

    Description Function converts the input string s into a double precision value and returns the value. Input string s should conform to the floating point literal format, with an optional whitespace at the beginning. The string will be processed one character at a time, until the function reaches a character which it doesn’t recognize (including a null character).

    Example doub = atof("-1.23" // doub = -1.23

    [/code]

    خروجی atof رو نباید تو int قرار داد

    دیدگاه


      #3
      پاسخ : کار نکردن یه برنامه

      با سلام
      شما از کانفیگ پروژه ، تب c compiler ، گزینه sprintf feature رو گزینه ی آخر تنظیم کن :eek:

      برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

      دیدگاه


        #4
        پاسخ : کار نکردن یه برنامه

        نوشته اصلی توسط hossein_tomari007
        با سلام
        شما از کانفیگ پروژه ، تب c compiler ، گزینه sprintf feature رو گزینه ی آخر تنظیم کن :eek:
        ممنون. درست شد، ولی چند تا error هم داد. دلیلش چیه؟

        http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

        دیدگاه


          #5
          پاسخ : کار نکردن یه برنامه

          تنظیمات پورت سریال احتمالا ایراد داره
          موفق باشید
          http://www.electro-nic.ir/
          برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

          دیدگاه


            #6
            پاسخ : کار نکردن یه برنامه

            نوشته اصلی توسط سامان تقی پور
            ممنون. درست شد، ولی چند تا error هم داد. دلیلش چیه؟

            شما تنظیمات مربوط به ارتابط رجیستر (مقداردهی به رجیسترها) رو انجام ندادید. متن ارور هم میگه که علی رغم فعال نشدن ارتباط سریال، دیتا داخل رجیستر مربوط به ارسال قرار میگیره.
            این رو هم میدونید که وقتی دیتا داخل رجیستر UDR قرار بگیره، به معنی ارسال اون هستش.
            ---------
            .
            .
            ...........

            دیدگاه


              #7
              پاسخ : کار نکردن یه برنامه

              سیم تا نزدیک اون پایه اومده بود و وصل نشده بود
              http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

              دیدگاه

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