اطلاعیه

Collapse
No announcement yet.

مشکل کامپایل با Code Vision

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

    مشکل کامپایل با Code Vision

    سلام دوستان من تو کد ویژن یه کد کوچیک نوشتم ولی موقع بیلد میگه حجم کد بیشتر از حافظه ATtiny13A هست ! در صورتی که اصلا در حد یه کیلوبایت نیست کتابخونه خاصی هم استفاده نکردم . قبلا کد خیلی طولانیتر رو بیلد کرده بودم مشکلی نبود . یه پروژه جدید باز کردم و کدا رو دوباره کپی کردم باز فایده نداشت ! این کد :
    #include  #include   int LED1Active,LED1Level; float Speed,TrueSliceLED1,FalseSliceLED1;  void main(void) {   Speed=0.01; // Normal   TrueSliceLED1=1;   LED1Level=0; //Level Of Effect   DDRB.0=1; //LED One while (1)     {     //Frecance Is 50Hz / 20m Second     if(LED1Active==1){     if(TrueSliceLED1 < 20 && LED1Level==0){       TrueSliceLED1+=Speed;     }else{        LED1Level++;     }     if(TrueSliceLED1 > 1 && LED1Level==1){        TrueSliceLED1-=Speed*0.5;     }else{        LED1Level++;     }     if(TrueSliceLED1 < 20 && LED1Level==2){        TrueSliceLED1+=Speed*1.5;     }else{        LED1Level++;     }     if(TrueSliceLED1 > 1 && LED1Level==3){        TrueSliceLED1-=Speed*2.5;     }else{        LED1Level=0;     }        FalseSliceLED1=(TrueSliceLED1-20);        PORTB.0=1;        delay_ms(TrueSliceLED1);        PORTB.0=0;        delay_ms(FalseSliceLED1);     }     } } 
    اینم عکس از پیامی که میده و ... : http://uupload.ir/files/yvn0_capture.jpg
    جدیدترین ویرایش توسط Reza Azimy_RW; ۲۲:۰۹ ۱۳۹۶/۰۶/۲۳.

    #2
    پاسخ : مشکل عجیب کامپایل با Code Vision

    حذف شود ممنون
    جدیدترین ویرایش توسط Reza Azimy_RW; ۲۲:۰۸ ۱۳۹۶/۰۶/۲۳.

    دیدگاه


      #3
      پاسخ : مشکل کامپایل با Code Vision

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

      #include <delay.h>
      #include <tiny13a.h>


      int LED1Level;
      float Speed,TrueSliceLED1,FalseSliceLED1;

      void main(void)
      {
      DDRB.0=1; //LED One
      Speed=0.01; // Normal
      TrueSliceLED1=1;
      LED1Level=0; //Level Of Effect

      while (1){
      //Frecance Is 50Hz / 20m Second
      if(TrueSliceLED1 < 20 && LED1Level==0){
      TrueSliceLED1+=Speed;
      }else if(TrueSliceLED1 > 1 && LED1Level==0){
      TrueSliceLED1-=Speed*0.5;
      LED1Level++;
      }else{
      LED1Level++;
      }

      if(TrueSliceLED1 > 1 && LED1Level==1){
      TrueSliceLED1-=Speed*0.5;
      }else if(TrueSliceLED1 < 20 && LED1Level==1){
      TrueSliceLED1+=Speed*1.5;
      }else{
      LED1Level++;
      }

      if(TrueSliceLED1 > 1 && LED1Level==2){
      TrueSliceLED1-=Speed*2.5;
      }else{
      LED1Level=0;
      }

      FalseSliceLED1=(TrueSliceLED1-20);
      PORTB.0=1;
      delay_ms(TrueSliceLED1);
      PORTB.0=0;
      delay_ms(FalseSliceLED1);

      }
      }

      البته کد اولی خطا نداشت ولی عملی هم نبودچشام پر خواب بود نوشتم این کدش کاملا درسته ولی باز پیام میده
      جدیدترین ویرایش توسط Reza Azimy_RW; ۰۳:۱۳ ۱۳۹۶/۰۶/۲۵.

      دیدگاه


        #4
        پاسخ : مشکل کامپایل با Code Vision

        من الان کدا رو کپی کردم تو یه text ببینم حجمش چقدره به طرز عجیبی 1 کیلوبایت بود ! یعنی وقعا توی ATtiny13 چار خط کد میشه نوشت ؟!! واقعا برام عجیبه چون قبلا یه برنامه دیگه واسش نوشته بودم خیلی طولانیتر بود چندت کتابخونه اضافه هم داشت نمیدونم چی شده واقعا تعجبیدم یکی منو روشن کنه بابا جون من یکی یه چیزی بگه من بفهمم تکلیفمو اخه ابا 4 خط کد چیکار میشه کرد این میکروکنترلر همینه ؟! البته میزنه 438 line(s) compiled کدهای کتابخونه ها روو هم حساب میکنه یا اشتباهی این 30 خط کدو 438 تا حساب کرده ؟!!!!!!!! در این حد فشردش کردمو نشد کمتر از این نمیدونم دیگه چی میتونه باشه(حتی اسم متغیرا رو کوتاه کردم) :
          #include  #include   int LED1Lv=0; float Spd=0.02,OnLED1=5,OffLED1; void LED1Anim();  void main(){     DDRB.0=1; //LED One     while(1){       LED1Anim();     } } void LED1Anim(){     //Effect 0 To Up     if(OnLED1 < 19 && LED1Lv==0){       OnLED1+=Spd;     }else if(LED1Lv==0){        LED1Lv++;      }    // Efect 2 To Up     if(OnLED1 > 2 && LED1Lv==1){       OnLED1-=Spd;     }else if (LED1Lv==1) {        LED1Lv=0;     }     OffLED1=(20-OnLED1);     PORTB.0=1;     delay_ms(OnLED1);     PORTB.0=0;     delay_ms(OffLED1); }  
        ویرایش : ممنون از اساتید متوجه شدم این همین یه کیلوبایته واقعا خیلی کمه ولی همینه که هست :دی
        جدیدترین ویرایش توسط Reza Azimy_RW; ۲۱:۲۵ ۱۳۹۶/۰۶/۲۸.

        دیدگاه

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