اطلاعیه

Collapse
No announcement yet.

کار عملی با Xmega از 0 تا ...

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : کار عملی با Xmega از 0 تا ...

    سلام
    اقای کی نژاد بر روی برد اموزشی که در سایت قرار دادید یه خازن 330nf قرار داره میخواستم بدونم نوعش چیه من میتونم از خازن مولتی لایر 330 نانو فاراد 50 ولت استفاده کنم در ضمن خازن الکترولیتی 1uf ولتاژ اون مشخص نیست من 50 ولتش رو دارم میتونم ازش استفاده کنم
    اَللّهُمَّ عَجِّل لِوَلیِّکَ الفَرَج

    دیدگاه


      پاسخ : کار عملی با Xmega از 0 تا ...

      خازن 330nF را می توانید از هر نوعی قرار دهید و خازن های 1uF هم مربوط به max232 هستند که استفاده از خازنی با حداکثر ولتاژ مورد نظر شما (50 ولت) برای آنها موردی ندارد.
      اوژن: به معنای افکننده و شکست دهنده است
      دانایی، توانایی است-Knowledge is POWER
      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

      دیدگاه


        پاسخ : کار عملی با Xmega از 0 تا ...

        سلام دوستان
        من به تازگی کار با xmega رو شروع کردم.
        می خوام در مورد فیوز بیت ها و تاثیر اون ها روی پروگرم کردن AVR بدونم.
        برای پروگرم کردن میکرو فیوز بیت ها رو باید چطور تنظیم کنم؟
        پروگرمر من هاتل هست و از AVR Studio برای پروگرم کردن استفاده می کنم.
        ممنون

        دیدگاه


          پاسخ : کار عملی با Xmega از 0 تا ...

          در سوال تاثیر روی AVR ذکر کرده اید که احتمالا منظور XMEGA بوده است (وگرنه دلیلی برای مطرح کردن سوال در این بخش نبود). در انتهای فصل 4 در Manual (بخش Memories) بصورت کامل درباره جزئیات فیوزبیت ها توضیح داده شده است.
          اوژن: به معنای افکننده و شکست دهنده است
          دانایی، توانایی است-Knowledge is POWER
          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

          دیدگاه


            پاسخ : کار عملی با Xmega از 0 تا ...

            سلام آقای کی نژاد...

            من دارم با xmega a3u کار می کنم و میخوام از 5 تا adc در اون استفاده کنم..
            می دونم که این آی سی دو تا ADC داره یک روی پورت A و یکی روی پرت B که هر کدوم هم 4 تا کانال داره ... حالا من سه تا adc رو از A میخونم و دو تا رو از B...
            مشکلی که دارم اینه که کانال سوم ADC A عدد های درستی رو نشون نمیده .. این درحالیه که دو کانال اول قبل از اعمال تنظیمات کانال سوم کاملا درست کار می کنند..

            ممنون میشم که راهنماییم کنید ...
            I'm Very Question and I have more Question,Please Answer All of my Questions


            [img width=156 height=100]http://uploadtak.com/images/u3536_555_Timer_as_Astable.gif[/img]

            دیدگاه


              پاسخ : کار عملی با Xmega از 0 تا ...

              نوشته اصلی توسط very question
              ممنون میشم که راهنماییم کنید ...
              اگر هنوز مشکل حل نشده نمونه کدتان را قرار دهید.
              گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

              دیدگاه


                پاسخ : کار عملی با Xmega از 0 تا ...

                نوشته اصلی توسط Hamed Gh
                اگر هنوز مشکل حل نشده نمونه کدتان را قرار دهید.
                سلام....
                مشکل که حل نشد...
                ممنون میشم کمکم کنید....


                کد:
                oid ADCA_init(void)
                {
                  struct adc_config adca_conf;
                  struct adc_channel_config adca_ch_conf;
                  //
                  //// Initialize configuration structures.
                  adc_get_calibration_data(ADC_CAL_ADCA);
                  adc_set_conversion_parameters(&adca_conf,ADC_SIGN_OFF,ADC_RES_12,ADC_REF_AREFA);
                  adc_set_clock_rate(&adca_conf,125000UL);
                  adc_set_conversion_trigger(&adca_conf,ADC_TRIG_FREERUN_SWEEP,3,0);
                  // adc_set_config_compare_value(adcb_conf,KCK_MAX_CHARGE_AMP);
                  adc_write_configuration(&ADCA,&adca_conf);
                	
                 
                  /////* Configure ADC channel 0: battery voltage feedback
                	
                	/* Configure ADC channel 0: motor4 current feedback)
                  * - Input: ADCA6
                  * - interrupts disable
                  */
                  adcch_read_configuration(&ADCA,1,&adca_ch_conf);
                  adcch_set_input(&adca_ch_conf,ADCCH_POS_PIN6,ADCCH_NEG_NONE,ADC_CH_GAIN_1X_gc);
                  //adcch_disable_interrupt(&adcb_ch_conf);
                  adcch_write_configuration(&ADCA,1,&adca_ch_conf);
                  
                	/* Configure ADC channel 1: motor3 current feedback
                  * - Input: ADCB5
                  * - Set Interrupt Mode: Below the threshold
                  * - interrupts disable
                  //*/
                  adcch_read_configuration(&ADCA,2, &adca_ch_conf);
                  adcch_set_input(&adca_ch_conf,ADCCH_POS_PIN5,ADCCH_NEG_NONE,ADC_CH_GAIN_1X_gc);
                	//adcch_set_interrupt_mode(&adcb_ch_conf,ADCCH_MODE_ABOVE);
                	//adcch_enable_interrupt(&adcb_ch_conf);
                  adcch_write_configuration(&ADCA,2,&adca_ch_conf); 
                		
                  
                  ///* Configure ADC channel 3:
                  //* - Input: ADCB3
                  //* - battery voltage feedback
                  //*/
                  //adcch_read_configuration(&ADCB,3, &adcb_ch_conf);
                  //adcch_set_input(&adcb_ch_conf,ADCCH_POS_PIN3,ADCCH_NEG_NONE,ADC_CH_GAIN_1X_gc);
                  //adcch_set_interrupt_mode(&adcb_ch_conf,ADCCH_MODE_ABOVE);
                  //adcch_enable_interrupt(&adcb_ch_conf);
                  //adcch_write_configuration(&ADCB,3,&adcb_ch_conf);
                  //
                  adc_enable(&ADCA);
                  adc_start_conversion(&ADCA,ADC_CH0);
                  adc_start_conversion(&ADCA,ADC_CH1);
                  adc_start_conversion(&ADCA,ADC_CH2);
                  //adc_start_conversion(&ADCA,ADC_CH3);
                }
                
                #define CONFIG_ADC_INTLVL ADC_CH_INTLVL_LO_gc
                void ADCB_init(void)
                {
                  struct adc_config adcb_conf;
                  struct adc_channel_config adcb_ch_conf;
                  //
                  //// Initialize configuration structures.
                  //adc_read_configuration(&ADCB, &adcb_conf);
                  //
                  ///* Configure the ADC module:
                  //* - unsigned, 12-bit results
                  //* - AREFB voltage reference
                  //* - 8000 kHz clock rate
                  //* - FreeRun Mode
                  //*/
                  adc_get_calibration_data(ADC_CAL_ADCB);
                  adc_set_conversion_parameters(&adcb_conf,ADC_SIGN_OFF,ADC_RES_12,ADC_REF_AREFA);
                  adc_set_clock_rate(&adcb_conf,125000UL);
                  adc_set_conversion_trigger(&adcb_conf,ADC_TRIG_FREERUN_SWEEP,2,0);
                  // adc_set_config_compare_value(adcb_conf,KCK_MAX_CHARGE_AMP);
                  adc_write_configuration(&ADCB,&adcb_conf);
                  
                  ///* Configure ADC channel 0: motor1 current feedback
                  //* - Input: ADCB2
                  //* - interrupts disable
                  //*/
                  adcch_read_configuration(&ADCB,1, &adcb_ch_conf);
                  adcch_set_input(&adcb_ch_conf,ADCCH_POS_PIN2,ADCCH_NEG_NONE,ADC_CH_GAIN_1X_gc);
                  adcch_write_configuration(&ADCB,1,&adcb_ch_conf);
                  
                	/* Configure ADC channel 1: motor2 current feedback
                  * - Input: ADCB1
                  * - Set Interrupt Mode: Below the threshold
                  * - interrupts disable
                  //*/
                  adcch_read_configuration(&ADCB,2, &adcb_ch_conf);
                  adcch_set_input(&adcb_ch_conf,ADCCH_POS_PIN1,ADCCH_NEG_NONE,ADC_CH_GAIN_1X_gc);
                	//adcch_set_interrupt_mode(&adcb_ch_conf,ADCCH_MODE_ABOVE);
                	//adcch_enable_interrupt(&adcb_ch_conf);
                  adcch_write_configuration(&ADCB,2,&adcb_ch_conf);
                	//
                	
                	
                	
                	///* Configure ADC channel 2: motor4 current feedback
                  adc_enable(&ADCB);
                  adc_start_conversion(&ADCB,ADC_CH0);
                  adc_start_conversion(&ADCB,ADC_CH1);
                  //adc_start_conversion(&ADCB,ADC_CH2);
                  ////adc_start_conversion(&ADCB,ADC_CH3);
                }
                I'm Very Question and I have more Question,Please Answer All of my Questions


                [img width=156 height=100]http://uploadtak.com/images/u3536_555_Timer_as_Astable.gif[/img]

                دیدگاه


                  پاسخ : کار عملی با Xmega از 0 تا ...

                  در نمونه کدی که قرار دادید در تابع مقداردهی ADCA برای تنظیمات کانال سوم که در اینجا Comment شده در آرگومان توابع ADCB قرار گرفته!
                  گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

                  دیدگاه


                    پاسخ : کار عملی با Xmega از 0 تا ...

                    نوشته اصلی توسط Hamed Gh
                    در نمونه کدی که قرار دادید در تابع مقداردهی ADCA برای تنظیمات کانال سوم که در اینجا Comment شده در آرگومان توابع ADCB قرار گرفته!
                    ببخشید من تو کپی کردن کد یه اشتباهی کردم..


                    الان دوباره میگذارم...
                    کد:
                    
                     adc_get_calibration_data(ADC_CAL_ADCA);
                      adc_set_conversion_parameters(&adca_conf,ADC_SIGN_OFF,ADC_RES_12,ADC_REF_AREFA);
                      adc_set_clock_rate(&adca_conf,125000UL);
                      adc_set_conversion_trigger(&adca_conf,ADC_TRIG_FREERUN_SWEEP,3,0);
                      // adc_set_config_compare_value(adcb_conf,KCK_MAX_CHARGE_AMP);
                      adc_write_configuration(&ADCA,&adca_conf);
                    	
                     
                      
                      adcch_read_configuration(&ADCA,1,&adca_ch_conf);
                      adcch_set_input(&adca_ch_conf,ADCCH_POS_PIN6,ADCCH_NEG_NONE,ADC_CH_GAIN_1X_gc);
                      //adcch_disable_interrupt(&adcb_ch_conf);
                      adcch_write_configuration(&ADCA,1,&adca_ch_conf);
                      
                    	/* Configure ADC channel 1: motor3 current feedback
                      * - Input: ADCB5
                      * - Set Interrupt Mode: Below the threshold
                      * - interrupts disable
                      //*/
                      adcch_read_configuration(&ADCA,2, &adca_ch_conf);
                      adcch_set_input(&adca_ch_conf,ADCCH_POS_PIN5,ADCCH_NEG_NONE,ADC_CH_GAIN_1X_gc);
                    	//adcch_set_interrupt_mode(&adcb_ch_conf,ADCCH_MODE_ABOVE);
                    	//adcch_enable_interrupt(&adcb_ch_conf);
                      adcch_write_configuration(&ADCA,2,&adca_ch_conf); 
                    	
                    	//battery voltage
                    	 adcch_read_configuration(&ADCA,3, &adca_ch_conf);
                    	 adcch_set_input(&adca_ch_conf,ADCCH_POS_PIN3,ADCCH_NEG_NONE,ADC_CH_GAIN_1X_gc);
                    	 //adcch_set_interrupt_mode(&adcb_ch_conf,ADCCH_MODE_ABOVE);
                    	 //adcch_enable_interrupt(&adcb_ch_conf);
                    	 adcch_write_configuration(&ADCA,3,&adca_ch_conf);	
                      
                      
                      adc_enable(&ADCA);
                      adc_start_conversion(&ADCA,ADC_CH0);
                      adc_start_conversion(&ADCA,ADC_CH1);
                      adc_start_conversion(&ADCA,ADC_CH2);
                      //adc_start_conversion(&ADCA,ADC_CH3);
                    }
                    
                    
                    
                    #define CONFIG_ADC_INTLVL ADC_CH_INTLVL_LO_gc
                    void ADCB_init(void)
                    {
                      struct adc_config adcb_conf;
                      struct adc_channel_config adcb_ch_conf;
                      //
                      //// Initialize configuration structures.
                      //adc_read_configuration(&ADCB, &adcb_conf);
                      //
                      ///* Configure the ADC module:
                      //* - unsigned, 12-bit results
                      //* - AREFA voltage reference
                      //* - 8000 kHz clock rate
                      //* - FreeRun Mode
                      //*/
                      adc_get_calibration_data(ADC_CAL_ADCB);
                      adc_set_conversion_parameters(&adcb_conf,ADC_SIGN_OFF,ADC_RES_12,ADC_REF_AREFB);
                      adc_set_clock_rate(&adcb_conf,125000UL);
                      adc_set_conversion_trigger(&adcb_conf,ADC_TRIG_FREERUN_SWEEP,2,0);
                      // adc_set_config_compare_value(adcb_conf,KCK_MAX_CHARGE_AMP);
                      adc_write_configuration(&ADCB,&adcb_conf);
                      
                      ///* Configure ADC channel 0: motor1 current feedback
                      //* - Input: ADCB2
                      //* - interrupts disable
                      //*/
                      adcch_read_configuration(&ADCB,1, &adcb_ch_conf);
                      adcch_set_input(&adcb_ch_conf,ADCCH_POS_PIN2,ADCCH_NEG_NONE,ADC_CH_GAIN_1X_gc);
                      adcch_write_configuration(&ADCB,1,&adcb_ch_conf);
                      
                    	/* Configure ADC channel 1: motor2 current feedback
                      * - Input: ADCB1
                      * - Set Interrupt Mode: Below the threshold
                      * - interrupts disable
                      //*/
                      adcch_read_configuration(&ADCB,2, &adcb_ch_conf);
                      adcch_set_input(&adcb_ch_conf,ADCCH_POS_PIN1,ADCCH_NEG_NONE,ADC_CH_GAIN_1X_gc);
                    	//adcch_set_interrupt_mode(&adcb_ch_conf,ADCCH_MODE_ABOVE);
                    	//adcch_enable_interrupt(&adcb_ch_conf);
                      adcch_write_configuration(&ADCB,2,&adcb_ch_conf);
                    	//
                    	
                    	
                      adc_enable(&ADCB);
                      adc_start_conversion(&ADCB,ADC_CH0);
                      adc_start_conversion(&ADCB,ADC_CH1);
                      //adc_start_conversion(&ADCB,ADC_CH2);
                      ////adc_start_conversion(&ADCB,ADC_CH3);
                    }
                    I'm Very Question and I have more Question,Please Answer All of my Questions


                    [img width=156 height=100]http://uploadtak.com/images/u3536_555_Timer_as_Astable.gif[/img]

                    دیدگاه


                      پاسخ : کار عملی با Xmega از 0 تا ...

                      پس از بررسی کدهای ASF مربوط به ADC مشاهده شد که مقدار ورودی آرگومان دوم توابع adcch_read_configuration و adcch_write_configuration باید به صورت BitMask باشد یعنی فقط یک بیت آن باید 1 باشد که این حالت برای مقادیر باینری عددهای 1 و 2 برقرار هست اما برای عدد 3 اینطور نیست و باید به جای آن عدد 4 قرار گیرد تا فقط بیت سوم آن 1 باشد و برای کانال چهارم هم باید مقدار 8 قرار داده شود. به توضیحات مربوط به توابع مراجعه کنید.
                      گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

                      دیدگاه


                        پاسخ : کار عملی با Xmega از 0 تا ...

                        نوشته اصلی توسط Hamed Gh
                        پس از بررسی کدهای ASF مربوط به ADC مشاهده شد که مقدار ورودی آرگومان دوم توابع adcch_read_configuration و adcch_write_configuration باید به صورت BitMask باشد یعنی فقط یک بیت آن باید 1 باشد که این حالت برای مقادیر باینری عددهای 1 و 2 برقرار هست اما برای عدد 3 اینطور نیست و باید به جای آن عدد 4 قرار گیرد تا فقط بیت سوم آن 1 باشد و برای کانال چهارم هم باید مقدار 8 قرار داده شود. به توضیحات مربوط به توابع مراجعه کنید.
                        خیلی ممنون بابت راهنماییتون...
                        من این تغییر رو در دو تابعی که فرمودید اعمال کردم....
                        آیا باید در تابع start conversion هر کدام از ADC ها هم اعمال کنم؟؟؟
                        I'm Very Question and I have more Question,Please Answer All of my Questions


                        [img width=156 height=100]http://uploadtak.com/images/u3536_555_Timer_as_Astable.gif[/img]

                        دیدگاه


                          پاسخ : کار عملی با Xmega از 0 تا ...

                          نوشته اصلی توسط very question
                          آیا باید در تابع start conversion هر کدام از ADC ها هم اعمال کنم؟؟؟
                          در این نمونه کد شما همین کار را انجام داده اید یعنی برای هر کانال جداگانه تابع start_conversion فراخوانی شده، اما طبق توضیحات این تابع، برای انتخاب کانالها می توانید با OR کردن کانالها، آنها را همزمان فعال کنید( با یکبار فراخوانی تابع)
                          گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

                          دیدگاه


                            پاسخ : کار عملی با Xmega از 0 تا ...

                            با سلام خدمت دوستان
                            نمیدونم جای این سوال در همین پست هست یا نه اما متاسفانه در شرایط بدی گیر کردم امیدوارم بتونید کمکم کنید.
                            من مدتی هست در حال کار با Atxmega128A1U هستم. مشکلی که برخورد کردم مربوز ب فرکانس کاری میکرو هست.
                            همه بخش های میکرو خوب کار میکنه. مقسم های فرکانس - PLL و .....
                            مشکل اینجاس که هر فرکانسی و منبع کلاکی که انتخاب میکنم هر چی که باشه داخلی یا خارجی همه تقسیم بر ۸ میشه.
                            برای مثال : بعد از انتخاب و فعال سازی کلاک داخلی ۳۲ مگاهرتز فرکانس کاری میکرو ۴ مگاهرتز هست و این موضوع رو با صفر و یک کردن پایه پورت c بررسی میکنم. اگز ۲ مگاهرتز باشه من ۲۰۰ کیلو دارم.
                            حتی فرکانس ۱۶ مگاهرتز خارجی هم متصل کردم اما حتی بعد از تقویت با PLL باز هم تقسیم بر ۸ اون رو داشتم.
                            رجیستر های مقسم رو حتی به صورت دستی برابر ۰ قرار دادم. اما هیج تاثیری نداره.
                            کسی از دوستان با تجربه پیشنهادی داره. خیلی به مشکل برخوردم .
                            اینم تنضیمات سیستم کلاک که با کدویژن تنظیم میکنم.

                            // System Clocks initialization
                            void system_clocks_init(void)
                            {
                            unsigned char n,s;

                            // Optimize for speed
                            #pragma optsize-
                            // Save interrupts enabled/disabled state
                            s=SREG;
                            // Disable interrupts
                            #asm("cli&quot

                            // Internal 32 kHz RC oscillator initialization
                            // Enable the internal 32 kHz RC oscillator
                            OSC.CTRL|=OSC_RC32KEN_bm;
                            // Wait for the internal 32 kHz RC oscillator to stabilize
                            while ((OSC.STATUS & OSC_RC32KRDY_bm)==0);

                            // Internal 32 MHz RC oscillator initialization
                            // Enable the internal 32 MHz RC oscillator
                            OSC.CTRL|=OSC_RC32MEN_bm;

                            // System Clock prescaler A division factor: 1
                            // System Clock prescalers B & C division factors: B:1, C:1
                            // ClkPer4: 32000.000 kHz
                            // ClkPer2: 32000.000 kHz
                            // ClkPer: 32000.000 kHz
                            // ClkCPU: 32000.000 kHz
                            n=(CLK.PSCTRL & (~(CLK_PSADIV_gm | CLK_PSBCDIV1_bm | CLK_PSBCDIV0_bm))) |
                            CLK_PSADIV_1_gc | CLK_PSBCDIV_1_1_gc;
                            CCP=CCP_IOREG_gc;
                            CLK.PSCTRL=n;

                            // Internal 32 MHz RC osc. calibration reference clock source: 32.768 kHz Internal Osc.
                            OSC.DFLLCTRL=(OSC.DFLLCTRL & (~(OSC_RC32MCREF_gm | OSC_RC2MCREF_bm))) | OSC_RC32MCREF_RC32K_gc;
                            // Enable the auto-calibration of the internal 32 MHz RC oscillator
                            DFLLRC32M.CTRL|=DFLL_ENABLE_bm;

                            // Wait for the internal 32 MHz RC oscillator to stabilize
                            while ((OSC.STATUS & OSC_RC32MRDY_bm)==0);

                            // Select the system clock source: 32 MHz Internal RC Osc.
                            n=(CLK.CTRL & (~CLK_SCLKSEL_gm)) | CLK_SCLKSEL_RC32M_gc;
                            CCP=CCP_IOREG_gc;
                            CLK.CTRL=n;

                            // Disable the unused oscillators: 2 MHz, external clock/crystal oscillator, PLL
                            OSC.CTRL&= ~(OSC_RC2MEN_bm | OSC_XOSCEN_bm | OSC_PLLEN_bm);

                            // Lock the CLK.CTRL and CLK.PSCTRL registers
                            n=CLK.LOCK | CLK_LOCK_bm;
                            CCP=CCP_IOREG_gc;
                            CLK.LOCK=n;

                            // ClkPer output disabled
                            PORTCFG.CLKEVOUT&= ~(PORTCFG_CLKOUTSEL_gm | PORTCFG_CLKOUT_gm);
                            // Restore interrupts enabled/disabled state
                            SREG=s;
                            // Restore optimization for size if needed
                            #pragma optsize_default
                            }

                            دیدگاه


                              پاسخ : کار عملی با Xmega از 0 تا ...

                              واقعیت تا جایی که یادمه این موضوع در مورد منبع کلاک داخلی بود و اگر از منابع خارجی استفاده کنید این موضوع پیش نخواهد آمد.البته باید تقسیم بر ۴ میشد نه ۸

                              دیدگاه


                                پاسخ : کار عملی با Xmega از 0 تا ...

                                داستش من همه منابع رو امتحان کردم. در هر حالتی که باشه تقسیم بر 8 رو دارم. منابع داخلی و خارجی همه تقسیم بر 8 رو میدن. جالب اینه که حتی وقتی از مقسم های داخلی استفاده میکنم کار میکنند فقط تقسیم رو روی همون کلاکی که تقسیم بر 8 شده بوده اعمال میکنند

                                کسی داهنمایی یا نکته ای نداره

                                خیلی به مشکل بر خوردم

                                دیدگاه

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