اطلاعیه

Collapse
No announcement yet.

چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

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

    چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

    از دوستانی که با IAR کار کردند خواستم بپرسم چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟
    از IAR Embedded Workbench® for Atmel AVR V5.11B استفاده می کنم.

    یه سوال دیگه اینکه چرا از eeprom__ ایراد میگیره درحالی که توی راهنماش هست؟
    با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

    #2
    پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

    iar چیه؟
    علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

    دیدگاه


      #3
      پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

      :eek:
      با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

      دیدگاه


        #4
        پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

        سلام...
        والا من هر کار کردم با iar نتونستم کامپایل کنم (ورإ¾زن 5.11 با کرک رو گرفتم) موقع کامپایل به key گیر میده شما اگه کرک درس حسابی داری و اگه لطف کنی اپلود کنی ممنون میشم. :eek:


        Qt - A cross-platform application and UI framework

        با کامپایلرهای قدرتمند GCC در Linux و MinGw در Windows

        دیدگاه


          #5
          پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

          من مال ورژن 4.2 رو دارم
          اگر به دردت میخوره بگو تا چند روزه اینده حتما اپ میکنم عزیز :bye
          علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

          دیدگاه


            #6
            پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

            نوشته اصلی توسط sallysat
            سلام...
            والا من هر کار کردم با iar نتونستم کامپایل کنم (ورإ¾زن 5.11 با کرک رو گرفتم) موقع کامپایل به key گیر میده شما اگه کرک درس حسابی داری و اگه لطف کنی اپلود کنی ممنون میشم. :eek:
            من از اینجا گرفتم.

            http://www.sonsivri.com/forum/index.php?topic=13949.0

            کار می کنه اما ازش چندان خوشم نیومد. چند روزیه دارم تست می کنم ببینم کدوم کمپایلر از کدویژن بهتره. نتیجه ای که گرفتم اینه که کدویژن غیر از مزایای معلومش کد کوچیکتری هم می سازه.

            آخرین نسخه ی فولش اینجاست:
            http://rapidshare.com/files/127466456/HP.InfoTech.CodeVisionAVR.v2.03.4.Cracked-F4CG.rar.html

            حتی به این مشکوک شدم دوستانی که ازش خیلی تعریف بد می کنن یا درست باهاش کار نکردن یا قصر و غرضی دارند! ایزد داند...

            به هرحال هیچ چیزی مثل تجربه نیست

            با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

            دیدگاه


              #7
              پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

              نوشته اصلی توسط ahmadmn
              از دوستانی که با IAR کار کردند خواستم بپرسم چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟
              از IAR Embedded Workbench® for Atmel AVR V5.11B استفاده می کنم.

              یه سوال دیگه اینکه چرا از eeprom__ ایراد میگیره درحالی که توی راهنماش هست؟
              حجم فایل خروجی:



              There is nothing so practical as a good theory. — Kurt Lewin, 1951

              دیدگاه


                #8
                پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

                فعال کردن Keyword مربوط به eeprom:


                There is nothing so practical as a good theory. — Kurt Lewin, 1951

                دیدگاه


                  #9
                  پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

                  با سپاس از آقای سپاس یار
                  فایل lst در خروجی ها نیست و برنامه چند error می دهد که در help و کل نت توصیفی ندارد!!!
                  مشاهده بفرمایید:

                  با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                  دیدگاه


                    #10
                    پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

                    سلام،
                    لطفا برنامه تون رو هم بگذارید تا راحت بتونیم مشکل رو پیدا کنیم. :smile:
                    There is nothing so practical as a good theory. — Kurt Lewin, 1951

                    دیدگاه


                      #11
                      پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

                      با تشکر از آقای سپاس یار. فکر می کردم IAR خوشدست تر از این حرفا باشه. آخه کدویژن که همه ازش شاکین تابحال خطای نامفهومی صادر نکرده!!!
                      به هر حال از این همراهی و حوصله ی شما صمیمانه سپاسگزارم.
                      کد:
                      #include <iotiny2313.h>                
                      
                      #define AA	8
                      #define BB	4
                      #define CC	64
                      #define DD	128
                      #define EE	32
                      #define FF	2
                      #define GG	1
                      #define DP	16  
                      //****************
                      #define c_0   AA+BB+CC+DD+EE+FF
                      #define c_1   BB+CC
                      #define c_2   AA+BB+DD+EE+GG
                      #define c_3   AA+BB+CC+DD+GG
                      #define c_4   BB+CC+FF+GG
                      #define c_5   AA+CC+DD+FF+GG
                      #define c_6   AA+CC+DD+EE+FF+GG
                      #define c_7   AA+BB+CC
                      #define c_8   AA+BB+CC+DD+EE+FF+GG
                      #define c_9   AA+BB+CC+DD+FF+GG
                      #define c_blank 0
                      #define c_minus GG
                      #define c_lo  DD+EE+FF
                      #define c_hi  BB+CC+EE+FF+GG
                      #define c_t   DD+EE+FF+GG
                      //**************** RELAY OUTPUTS
                      #define PUMP_OUT  2
                      #define VALVE_OUT  4
                      #define LC_OUT   64
                      #define ALARM_OUT  128
                      /****************
                      #define TERMO_INP  1
                      #define LCA_INP   2
                      #define LCP_INP   64
                      #define LCB_INP   32
                      #define BA_INP    4
                      #define BS_INP    8
                      #define BV1_INP   16
                      #define BV2_INP   512
                      #define PS1_INP   256
                      #define PS2_INP   128
                      //****************LED_reg0
                      #define SOFTNER_LED   1
                      #define VALVE_LED    2
                      #define TERMO_LED    4
                      #define LEVEL_LO_LED  8
                      #define LEVEL_MID_LED  16
                      #define LEVEL_HI_LED  32
                      #define START_LED    64
                      #define ALARM_LED    128
                      //****************LED_reg1
                      #define PUMP_LED    1
                      #define PRESS_HI_LED  2
                      #define PRESS_MID_LED  4
                      #define PRESS_LO_LED  8
                      #define FIRE_HI_LED   16
                      #define FIRE_LO_LED   32
                      #define SPARK_LED    64
                      #define BURNOR_LED   128
                      //****************Key_reg0
                      #define PUMP_KEY  1
                      #define VALVE_KEY  2
                      #define STOP_KEY  4
                      #define START_KEY  8
                      #define ESC_KEY   16
                      #define OK_KEY   32
                      #define SET_KEY   64
                      #define RES_KEY   128
                      //****************Key_reg1
                      #define INC_KEY   64
                      #define DEC_KEY   128
                      //****************
                      const unsigned char Segments[]={c_0,c_1,c_2,c_3,c_4,c_5,c_6,c_7,c_8,c_9,c_blank,c_t};
                      const unsigned char power[]={1,2,4,8,16,32,64,128};
                      const unsigned char KeySel[]={1,2,4,8,16,32,64,128,64,128};
                      const unsigned char RegSel[]={0,0,0,0,0,0,0,0,1,1};
                      unsigned char  blink_cntr,start_alarm_cntr,buz_cntr,disp_mode,out_reg,IniTimer;
                      unsigned char hour,minute,sec,display_right,display_left,softner_time,valve_timer;
                      unsigned char valve_off_time,valve_on_time,sec_blink_cntr,inp_deb_cntr;
                      unsigned char sec_blinker,blinker,valve_kypressed,start_state,start_alarm,pump_state,soft_timer_out,valve_timer_out,save_hour;
                      __eeprom char EE_SOFTNER_TIME;
                      __eeprom char EE_VALVE_OFF_TIME;
                      __eeprom char EE_VALVE_ON_TIME;
                      __eeprom char EE_HOUR;
                      //********************************************************
                      unsigned char spi(unsigned char inp) 
                      {      
                        USIDR=inp;
                        USISR=64;
                        do USICR=0x1B;
                        while((USISR&64)==0);
                        return(USIDR);
                      }
                      //********************************************************   
                      void Run_Key(unsigned char inp)
                      {  
                        switch (inp) 
                        {
                          case 0: //PUMP_KEY
                            pump_state=~pump_state;
                          break;
                          case 1: //VALVE_KEY
                            valve_kypressed=1;
                          break;
                          case 2: //STOP_KEY
                            start_state=0;
                          break;
                          case 3: //START_KEY
                            start_state=1;
                            start_alarm=1;
                            start_alarm_cntr=15;      
                          break;
                          case 4: //ESC_KEY
                            if(disp_mode==0) hour=EE_HOUR;
                            else
                              {
                              softner_time=EE_SOFTNER_TIME;
                              valve_off_time=EE_VALVE_OFF_TIME;
                              valve_on_time=EE_VALVE_ON_TIME;
                              disp_mode=0;
                              }
                          break;
                          case 5: //OK_KEY
                            if(disp_mode==0) save_hour=1;
                            else
                              {
                              EE_SOFTNER_TIME=softner_time;
                              EE_VALVE_OFF_TIME=valve_off_time;
                              EE_VALVE_ON_TIME=valve_on_time;
                              }
                            disp_mode=0;      
                          break;
                          case 6: //SET_KEY
                            if(++disp_mode==4) disp_mode=1;
                          break;
                          case 7: //RES_KEY 
                            hour=0;
                            minute=0;
                          break;
                          case 8: //INC_KEY
                            switch (disp_mode) 
                              {
                              case 1:
                                if(softner_time<255) softner_time++;   
                              break;
                              case 2:
                                if(valve_off_time<255) valve_off_time++;   
                              break;
                              case 3:
                                if(valve_on_time<255) valve_on_time++;   
                              break;
                              };      
                          break;
                          case 9: //DEC_KEY
                            switch (disp_mode) 
                              {
                              case 1:
                                if(softner_time>0) softner_time--;   
                              break;
                              case 2:
                                if(valve_off_time>0) valve_off_time--;   
                              break;
                              case 3:
                                if(valve_on_time>0) valve_on_time--;   
                              break;
                              };      
                          break;
                        };  
                      }
                      //********************************************************
                      // Timer 1 overflow interrupt service routine 0.1 sec 0xCF2C
                      #pragma vector=TIMER1_OVF1_vect 
                      __interrupt void basic_timer(void) 
                      {
                      // Reinitialize Timer 1 value
                      TCNT1H=0xCF2C >> 8;
                      TCNT1L=0xCF2C & 0xff;
                        if(++blink_cntr==2)
                          {
                          blink_cntr=0;
                          blinker=~blinker;
                          }
                        if(start_state)
                          {  
                          if(++sec_blink_cntr==5)
                            {
                            sec_blink_cntr=0;
                            sec_blinker=~sec_blinker;
                            if(sec_blinker)
                              {
                              //------------------
                              if(valve_timer_out)
                                if(--valve_timer==0)
                                  {
                                  valve_timer=valve_off_time;
                                  valve_timer_out=0;
                                  }
                              //------------------
                              if(++sec==60)
                                {  
                                sec=0;
                                if(!valve_timer_out)
                                  if(--valve_timer==0)
                                    {
                                    valve_timer=valve_on_time;
                                    valve_timer_out=1;
                                    }
                                if(++minute==60)
                                  {
                                  minute=0;
                                  if(hour<255) 
                                    {
                                    hour++;
                                    save_hour=1;
                                    }
                                  }
                                }
                              }
                            }
                          }
                        else sec_blinker=1;  
                        if(--buz_cntr==0) PORTD|=64;
                        if(--start_alarm_cntr==0) start_alarm=0;
                        IniTimer--;
                      }
                      //********************************************************
                      int main( void )
                      {
                      // Declare your local variables here
                      unsigned char rem,DigCntr,KeyCntr,deb_cntr,KEYS,ReadKey,seg_reg,special_seg,qut;
                      unsigned char LED_reg[2],Key_reg[2];
                      unsigned char wait_released,KeyChange;
                      unsigned int inps,tmp_inps;
                      // Input/Output Ports initialization
                      // Port A initialization
                      // Func2=In Func1=In Func0=In 
                      // State2=P State1=P State0=P 
                      PORTA=0x07;
                      DDRA=0x00;
                      
                      // Port B initialization
                      // Func7=Out Func6=Out Func5=In Func4=Out Func3=Out Func2=In Func1=In Func0=In 
                      // State7=0 State6=0 State5=P State4=0 State3=1 State2=P State1=P State0=P 
                      PORTB=0x2F;
                      DDRB=0xD8;
                      
                      // Port D initialization
                      // Func6=Out Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                      // State6=1 State5=P State4=P State3=P State2=P State1=P State0=P 
                      PORTD=0x7F;
                      DDRD=0x40;
                      
                      // Timer/Counter 0 initialization
                      // Clock source: System Clock
                      // Clock value: Timer 0 Stopped
                      // Mode: Normal top=FFh
                      // OC0A output: Disconnected
                      // OC0B output: Disconnected
                      TCCR0A=0x00;
                      TCCR0B=0x00;
                      TCNT0=0x9E;
                      OCR0A=0x00;
                      OCR0B=0x00;
                      
                      // Timer/Counter 1 initialization
                      // Clock source: System Clock
                      // Clock value: 125.000 kHz
                      // Mode: Normal top=FFFFh
                      // OC1A output: Discon.
                      // OC1B output: Discon.
                      // Noise Canceler: Off
                      // Input Capture on Falling Edge
                      // Timer 1 Overflow Interrupt: On
                      // Input Capture Interrupt: Off
                      // Compare A Match Interrupt: Off
                      // Compare B Match Interrupt: Off
                      TCCR1A=0x00;
                      TCCR1B=0x02;
                      TCNT1H=0xCF;
                      TCNT1L=0x2C;
                      ICR1H=0x00;
                      ICR1L=0x00;
                      OCR1AH=0x00;
                      OCR1AL=0x00;
                      OCR1BH=0x00;
                      OCR1BL=0x00;
                      
                      // External Interrupt(s) initialization
                      // INT0: Off
                      // INT1: Off
                      // Interrupt on any change on pins PCINT0-7: Off
                      GIMSK=0x00;
                      MCUCR=0x00;
                      
                      // Timer(s)/Counter(s) Interrupt(s) initialization
                      TIMSK=0x80;
                      
                      // Universal Serial Interface initialization
                      // Mode: Three Wire (SPI)
                      // Clock source: Reg.=ext. pos. edge, Cnt.=USITC
                      // USI Counter Overflow Interrupt: Off
                      USICR=0x1A;
                      
                      // Analog Comparator initialization
                      // Analog Comparator: Off
                      // Analog Comparator Input Capture by Timer/Counter 1: Off
                      ACSR=0x80;
                      
                      // Global enable interrupts
                      
                      DigCntr=5;
                      KeyCntr=0;
                      out_reg=0;
                      wait_released=0;
                      Key_reg[0]=PUMP_KEY;
                      Key_reg[1]=0;
                      LED_reg[0]=0;
                      LED_reg[1]=0;
                      softner_time=EE_SOFTNER_TIME;
                      valve_off_time=EE_VALVE_OFF_TIME;
                      valve_on_time=EE_VALVE_ON_TIME;
                      hour=EE_HOUR;
                      valve_timer=valve_off_time;
                      start_state=0;
                      pump_state=0;
                      soft_timer_out=0;
                      valve_timer_out=0;
                      disp_mode=0;
                      inps=1;
                      IniTimer=20;
                      asm("sei");
                      PORTD &=255-64;
                      buz_cntr=15;
                      while(IniTimer!=0){}; // Initial Delay for charge input capacitor to 5 volt
                      while (1)
                          {  
                          //*********************************************
                          //KEYS=255;
                          //----------------------
                          DigCntr++;
                          seg_reg=0;
                          if(DigCntr==2)
                            {
                            qut=display_left;
                            seg_reg=DP;
                            }
                          if(DigCntr==6)
                            {
                            DigCntr=0; 
                            qut=display_right;        
                            }
                          rem=qut % 10;
                          qut=qut / 10;
                          //----------------------
                          spi((255-power[5-DigCntr])&(~Key_reg[1]));    
                          if(DigCntr==1) rem=rem+special_seg;
                          if((DigCntr==2)&&(!sec_blinker)) seg_reg=0;
                          if(DigCntr==6) rem=10;
                          seg_reg=Segments[rem]+seg_reg;
                          spi(seg_reg);
                          //----------------------
                          spi(~Key_reg[0]);
                          spi(~LED_reg[1]);
                          KEYS=spi(~LED_reg[0]);
                          KeyChange=~KeyChange;
                          if(KeyChange==0) ReadKey=KEYS;
                          //----------------------        
                          spi(out_reg);
                          PORTB |=16;
                          PORTB &=255-16;
                          PORTB &=255-8;
                          //***********************************************
                          switch (disp_mode) 
                            {
                            case 0:
                              {
                              display_right=minute;
                              display_left=hour;
                              special_seg=0;
                              }
                            break;
                            case 1:
                              {
                              display_right=1;
                              display_left=softner_time;
                              special_seg=11;
                              }
                            break;
                            case 2:
                              {
                              display_right=2;
                              display_left=valve_off_time;
                              }
                            break;
                            case 3:
                              {
                              display_right=3;
                              display_left=valve_on_time;
                              }
                            break;
                            };        
                          //***********************************************
                          if(ReadKey!=255)
                            {
                            if(wait_released==0)
                              {
                              if(--deb_cntr==0)
                                {
                                PORTD &=255-64;
                                buz_cntr=3;          
                                wait_released=1;
                                Run_Key(KeyCntr);                  
                                }  
                              }
                            }
                          else
                            {         
                            deb_cntr=100;
                            wait_released=0;
                            valve_kypressed=0;
                            if(KeyChange==0)
                              {
                              Key_reg[RegSel[KeyCntr]]=Key_reg[RegSel[KeyCntr]] & (255-KeySel[KeyCntr]);
                              KeyCntr++;
                              if(KeyCntr==11) KeyCntr=0;
                              Key_reg[RegSel[KeyCntr]]=Key_reg[RegSel[KeyCntr]] | KeySel[KeyCntr];
                              }
                            }
                          //************************************************ 
                          tmp_inps=~((PIND&31) + ((PINA&3)*32) + ((PINB&7)*128));    
                          if(tmp_inps==inps) inp_deb_cntr=255;
                          else       
                            {
                            if(--inp_deb_cntr==0)
                              {
                              inps=tmp_inps;
                              inp_deb_cntr=255;
                              }    
                            }
                          //************************************************
                          if(hour>=softner_time) soft_timer_out=1; else soft_timer_out=0;     
                          if(save_hour) EE_HOUR=hour;
                          //---------------------
                          if(!(inps&TERMO_INP))
                            {      
                            start_state=0;
                            pump_state=0;
                            valve_timer_out=0;
                            if(blinker) LED_reg[0]=LED_reg[0]|TERMO_LED; else LED_reg[0]=LED_reg[0]&(255-TERMO_LED);
                            }
                          else LED_reg[0]=LED_reg[0]&(255-TERMO_LED);
                          //-----------------------
                          if((pump_state||(inps&LCP_INP))&&(inps&TERMO_INP)) 
                            {
                            out_reg=out_reg |PUMP_OUT;
                            LED_reg[1]=LED_reg[1]|PUMP_LED;
                            }
                            else
                            {
                            out_reg=out_reg &(255-PUMP_OUT);
                            LED_reg[1]=LED_reg[1]&(255-PUMP_LED);
                            }
                          //------------------------ 
                          if((valve_timer_out||valve_kypressed)&&(inps&TERMO_INP)) 
                            {
                            out_reg=out_reg |VALVE_OUT;
                            LED_reg[0]=LED_reg[0]|VALVE_LED;
                            }
                            else
                            {
                            out_reg=out_reg &(255-VALVE_OUT);
                            LED_reg[0]=LED_reg[0]&(255-VALVE_LED);
                            }
                          //-----------------------
                          if(start_state) 
                            {
                            out_reg=out_reg |LC_OUT;
                            LED_reg[0]=LED_reg[0]|START_LED;
                            }
                            else
                            {
                            out_reg=(out_reg &(255-LC_OUT));
                            LED_reg[0]=LED_reg[0]&(255-START_LED);
                            }
                          //------------------------        
                          if(((((LED_reg[1]&PRESS_HI_LED) || (inps&LCA_INP) || (inps&BA_INP) || start_alarm)&&start_state)||soft_timer_out)||(!(inps&TERMO_INP)))
                            {
                            out_reg=out_reg | ALARM_OUT; 
                            LED_reg[0]=LED_reg[0]|ALARM_LED;
                            }
                          else
                            {
                            out_reg=out_reg & (255-ALARM_OUT);
                            LED_reg[0]=LED_reg[0]&(255-ALARM_LED);
                            }
                          //------------------------ 	
                          if((inps&LCB_INP)&&!(inps&LCP_INP)) 
                            {
                            LED_reg[0]=LED_reg[0]|LEVEL_HI_LED;
                            }
                            else
                            {
                            LED_reg[0]=LED_reg[0]&(255-LEVEL_HI_LED);
                            }
                          //------------------------ 	
                          if((inps&LCP_INP)&&!(inps&LCA_INP)) 
                            {
                            LED_reg[0]=LED_reg[0]|LEVEL_MID_LED;
                            }
                            else
                            {
                            LED_reg[0]=LED_reg[0]&(255-LEVEL_MID_LED);
                            }
                          //------------------------ 	
                          if(inps&LCA_INP) 
                            {
                            if(blinker) LED_reg[0]=LED_reg[0]|LEVEL_LO_LED; else LED_reg[0]=LED_reg[0]&(255-LEVEL_LO_LED);
                            }
                            else
                            {
                            LED_reg[0]=LED_reg[0]&(255-LEVEL_LO_LED);
                            }
                          //------------------------ 	
                          if(soft_timer_out) 
                            {
                            if(blinker) LED_reg[0]=LED_reg[0]|SOFTNER_LED; else LED_reg[0]=LED_reg[0]&(255-SOFTNER_LED);
                            }
                            else
                            {
                            LED_reg[0]=LED_reg[0]&(255-SOFTNER_LED);
                            }
                          //------------------------ 	
                          if((inps&PS1_INP)&&(inps&PS2_INP)&&(inps&LCB_INP)) 
                            {
                            LED_reg[1]=LED_reg[1]|PRESS_LO_LED;
                            }
                            else
                            {
                            LED_reg[1]=LED_reg[1]&(255-PRESS_LO_LED);
                            }
                          //------------------------ 	
                          if(!(inps&PS1_INP)&&(inps&PS2_INP)&&(inps&LCB_INP)) 
                            {
                            LED_reg[1]=LED_reg[1]|PRESS_MID_LED;
                            }
                            else
                            {
                            LED_reg[1]=LED_reg[1]&(255-PRESS_MID_LED);
                            }
                          //------------------------ 		
                          if(!(inps&PS2_INP)&&(inps&LCB_INP)) 
                            {
                            if(blinker) LED_reg[1]=LED_reg[1]|PRESS_HI_LED; else LED_reg[1]=LED_reg[1]&(255-PRESS_HI_LED);
                            }
                            else
                            {
                            LED_reg[1]=LED_reg[1]&(255-PRESS_HI_LED);
                            }
                          //------------------------ 
                          if(inps&BA_INP)
                            {
                            if(blinker)
                              {
                              LED_reg[1]=LED_reg[1]|SPARK_LED;
                              LED_reg[1]=LED_reg[1]|FIRE_HI_LED;
                              LED_reg[1]=LED_reg[1]|FIRE_LO_LED;
                              }
                            else
                              {
                              LED_reg[1]=LED_reg[1]&(255-SPARK_LED);
                              LED_reg[1]=LED_reg[1]&(255-FIRE_HI_LED);
                              LED_reg[1]=LED_reg[1]&(255-FIRE_LO_LED);
                              }      
                            }
                          else
                            {
                            if(inps&BS_INP) LED_reg[1]=LED_reg[1]|SPARK_LED; else LED_reg[1]=LED_reg[1]&(255-SPARK_LED);
                            if(inps&BV1_INP) LED_reg[1]=LED_reg[1]|FIRE_LO_LED; else LED_reg[1]=LED_reg[1]&(255-FIRE_LO_LED);
                            if(inps&BV2_INP) LED_reg[1]=LED_reg[1]|FIRE_HI_LED; else LED_reg[1]=LED_reg[1]&(255-FIRE_HI_LED);
                            if(inps&PS1_INP) LED_reg[1]=LED_reg[1]|BURNOR_LED; else LED_reg[1]=LED_reg[1]&(255-BURNOR_LED);
                            }
                          //***********************************************
                          }
                       return 0;
                      }
                      با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                      دیدگاه


                        #12
                        پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

                        سلام،

                        برنامه تون دو مورد اشکال داره:
                        1. به نظرتون این حجم برنامه در 2 کیلو بایت حافظه ی فلش ATtiny2313 جا میشه؟
                        2. به جای
                        کد:
                        #asm("sei")
                        با بنویسید
                        کد:
                        __enable_interrupt();
                        موفق باشید :smile:
                        There is nothing so practical as a good theory. — Kurt Lewin, 1951

                        دیدگاه


                          #13
                          پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

                          برنامه با کدویژن زیر 2 کیلو میشه!
                          با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                          دیدگاه


                            #14
                            پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

                            با IAR چقدر میشه ؟
                            مدهای مختلف optimze رو امتحان کردید؟

                            دیدگاه


                              #15
                              پاسخ : چرا IAR حجم فایل خروجی فلش AVR را اعلام نمی کند؟

                              نوشته اصلی توسط ahmadmn
                              فایل lst در خروجی ها نیست
                              باید در Option پروژه تون، در بخش C/C++ Compiler، در سربرگ List، گزینه‏ی "Output list file" رو فعال کرده باشید.
                              There is nothing so practical as a good theory. — Kurt Lewin, 1951

                              دیدگاه

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