اطلاعیه

Collapse
No announcement yet.

مشکل با کدهای اضافی

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

    مشکل با کدهای اضافی

    سلام دوستان عزیز
    من به یه مشکل جدید و جالب برخوردم و اون اینکه
    وقتی با wizard پروژه طراحی میکنیم ،یه عالمه کد لازم درست میکنه، که واجب نیستند.
    مثلا تو کار با XMEGA وقتی طراحی اولیه تموم میشه حدود 300 خط فقط برای port initialize تولید میکنه.
    خب همیشه نیاز نیست اینها دم دست باشند که؟؟
    حالا چه تور میتونیم این ها رو برداریم؟؟
    یعنی کتابخونه تعریف کنیم و یا ....؟؟؟

    #2
    پاسخ : مشکل با کدهای اضافی

    نوشته اصلی توسط alberta
    سلام دوستان عزیز
    من به یه مشکل جدید و جالب برخوردم و اون اینکه
    وقتی با wizard پروژه طراحی میکنیم ،یه عالمه کد لازم درست میکنه، که واجب نیستند.
    مثلا تو کار با XMEGA وقتی طراحی اولیه تموم میشه حدود 300 خط فقط برای port initialize تولید میکنه.
    خب همیشه نیاز نیست اینها دم دست باشند که؟؟
    حالا چه تور میتونیم این ها رو برداریم؟؟
    یعنی کتابخونه تعریف کنیم و یا ....؟؟؟
    کدویزارد همینه دیگه، کاریش نمیشه کرد.
    باید دستورات اضافه را حذف کنید
    1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
    من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
    !Electronic On! Programming On
    هوشمندانه سوال بپرسیم!
    http://ir02x6.persiangig.com/logo/eca/tanks_01.png

    دیدگاه


      #3
      پاسخ : مشکل با کدهای اضافی

      نوشته اصلی توسط Mahan.Rafiee
      کدویزارد همینه دیگه، کاریش نمیشه کرد.
      باید دستورات اضافه را حذف کنید
      یعنی نمیشه یه کتابخونه ای ، چیزی درست کرد؟؟؟

      دیدگاه


        #4
        پاسخ : مشکل با کدهای اضافی

        کدویزارت کدهایی که به صورت پیش فرض برای avr هست رو هم تولید میکنه همه اون کدها رو غیر از اونایی که مقدار دارند رو حذف کن اگه مقدار یکی برابر بود با 0x80 بزار بمونه
        با تشکر

        مثل :
        کد:
        #include <mega16a.h>
        
        // Alphanumeric LCD functions
        #include <alcd.h>
        
        // Declare your global variables here
        
        void main(void)
        {
        // Declare your local variables here
        
        // Input/Output Ports initialization
        // Port A initialization
        // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
        DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
        // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
        PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);
        
        // Port B initialization
        // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
        DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
        // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
        PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
        
        // Port C initialization
        // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
        DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
        // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
        PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
        
        // Port D initialization
        // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
        DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
        // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
        PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
        
        // Timer/Counter 0 initialization
        // Clock source: System Clock
        // Clock value: Timer 0 Stopped
        // Mode: Normal top=0xFF
        // OC0 output: Disconnected
        TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);
        TCNT0=0x00;
        OCR0=0x00;
        
        // Timer/Counter 1 initialization
        // Clock source: System Clock
        // Clock value: Timer1 Stopped
        // Mode: Normal top=0xFFFF
        // OC1A output: Disconnected
        // OC1B output: Disconnected
        // Noise Canceler: Off
        // Input Capture on Falling Edge
        // Timer1 Overflow Interrupt: Off
        // Input Capture Interrupt: Off
        // Compare A Match Interrupt: Off
        // Compare B Match Interrupt: Off
        TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
        TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
        TCNT1H=0x00;
        TCNT1L=0x00;
        ICR1H=0x00;
        ICR1L=0x00;
        OCR1AH=0x00;
        OCR1AL=0x00;
        OCR1BH=0x00;
        OCR1BL=0x00;
        
        // Timer/Counter 2 initialization
        // Clock source: System Clock
        // Clock value: Timer2 Stopped
        // Mode: Normal top=0xFF
        // OC2 output: Disconnected
        ASSR=0<<AS2;
        TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);
        TCNT2=0x00;
        OCR2=0x00;
        
        // Timer(s)/Counter(s) Interrupt(s) initialization
        TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);
        
        // External Interrupt(s) initialization
        // INT0: Off
        // INT1: Off
        // INT2: Off
        MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
        MCUCSR=(0<<ISC2);
        
        // USART initialization
        // USART disabled
        UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
        
        // Analog Comparator initialization
        // Analog Comparator: Off
        // The Analog Comparator's positive input is
        // connected to the AIN0 pin
        // The Analog Comparator's negative input is
        // connected to the AIN1 pin
        ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
        SFIOR=(0<<ACME);
        
        // ADC initialization
        // ADC disabled
        ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
        
        // SPI initialization
        // SPI disabled
        SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);
        
        // TWI initialization
        // TWI disabled
        TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);
        
        // Alphanumeric LCD initialization
        // Connections are specified in the
        // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
        // RS - PORTA Bit 0
        // RD - PORTA Bit 1
        // EN - PORTA Bit 2
        // D4 - PORTA Bit 4
        // D5 - PORTA Bit 5
        // D6 - PORTA Bit 6
        // D7 - PORTA Bit 7
        // Characters/line: 16
        lcd_init(16);
        
        while (1)
           {
           // Place your code here
        
           }
        }
        کدی که باید باقی بمونه
        کد:
        #include <mega16a.h>
        #include <alcd.h>
        void main(void)
        {
        lcd_init(16);
        while (1)
           {
           
           }
        }
        سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

        دیدگاه


          #5
          پاسخ : مشکل با کدهای اضافی

          چه جور کتابخونه ای ؟

          کد های اضافی رو delet کن .
          البته باید یه کوچولو رجیسترها رو بشناسی !

          [code=vb]-----------------------------------------------------------

          DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
          // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
          PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);[/code]
          کدویژن شما ورژن چنده ؟ چه با کلاس کد تولید میکنه
          إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
          کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)

          دیدگاه


            #6
            پاسخ : مشکل با کدهای اضافی

            کدویژن شما ورژن چنده ؟
            چشات باکلاس میبینند :rolleyes:
            3.12 http://dl2.soft98.ir/programing/CodeVisonAVR.3.12.rar

            سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

            دیدگاه


              #7
              پاسخ : مشکل با کدهای اضافی

              salam be hameh dustan
              duste azizi ke soal porsidi
              2halat vojud dareh
              1_aval inke nemikhay in code haye ezafi ro tu micro berizi va hafezeh eshqal ****
              ke tebqe farmayeshe dustan mituni hazf **** code haye qeyer zaruri ro
              2_ mikhay code ha bashan vali tu mohite barnameh nevisit nabashan ke sholuq nashe

              دیدگاه


                #8
                پاسخ : مشکل با کدهای اضافی

                baraye in kar mituni yek file az noe source ba codevision ijad **** va code haye ezafit ro cut **** darun oun
                va tuye oun file jadid yek function tarif **** va in code ha ro tberizi tuye function
                bad file ro ba pasvand "mycode.h" save **** hala bayad tu file c asli in file ro include **** mesle zir
                #include "maycode.h"
                badesh function ro tu avale main fara khani ****
                hala dg mohitet sholuq nist

                دیدگاه


                  #9
                  پاسخ : مشکل با کدهای اضافی

                  dar zemn in code ha be zaher ezafi miyand
                  vali dar amal in kodha niyaz mishan
                  chera?
                  chon agar ye vaqti be har dalili micro reset beshe in code haye be zaher ezafi
                  baes mishan ke fazahaei ke dar heyni ejraye qabli dar zaman moayan meqdar gerefte bashan be halate pish farze khod bargardan
                  va khelali be ejraye badi barnameh vared nemishe ba in kar
                  bebakhshid ke fingilish neveshtam akhe keyboardam lable farsi nadareh va type matlabe ziyad ro kheyli sakht mikone
                  movafaq bashin

                  دیدگاه


                    #10
                    پاسخ : مشکل با کدهای اضافی

                    نوشته اصلی توسط plc1361
                    dar zemn in code ha be zaher ezafi miyand
                    vali dar amal in kodha niyaz mishan
                    chera?
                    chon agar ye vaqti be har dalili micro reset beshe in code haye be zaher ezafi
                    baes mishan ke fazahaei ke dar heyni ejraye qabli dar zaman moayan meqdar gerefte bashan be halate pish farze khod bargardan
                    va khelali be ejraye badi barnameh vared nemishe ba in kar
                    bebakhshid ke fingilish neveshtam akhe keyboardam lable farsi nadareh va type matlabe ziyad ro kheyli sakht mikone
                    movafaq bashin
                    اقا موقع ریست همه ی مقدار ها خودشون به صورت اتومات صفر میشن
                    پس نیازی به این کد ها نیست.

                    اضافه شده در تاریخ :
                    نوشته اصلی توسط plc1361
                    baraye in kar mituni yek file az noe source ba codevision ijad **** va code haye ezafit ro cut **** darun oun
                    va tuye oun file jadid yek function tarif **** va in code ha ro tberizi tuye function
                    bad file ro ba pasvand "mycode.h" save **** hala bayad tu file c asli in file ro include **** mesle zir
                    #include "maycode.h"
                    badesh function ro tu avale main fara khani ****
                    hala dg mohitet sholuq nist
                    این کار فرقی با پاک کردن نداره...
                    1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
                    من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
                    !Electronic On! Programming On
                    هوشمندانه سوال بپرسیم!
                    http://ir02x6.persiangig.com/logo/eca/tanks_01.png

                    دیدگاه


                      #11
                      پاسخ : مشکل با کدهای اضافی

                      ba ehteram be nazare shoma duste aziz
                      vali bar asas goftehaye data sheet
                      bad az reset maqdir fazaye ram pak nemishan
                      va niyaz be pak kardane narmafzari hastesh
                      agar motmaen hastin ke nazaretun doroste ye email be sherkate sazandeh codevision bezanid
                      va begin ke kareshun eshtebahe
                      movafaq bashin

                      دیدگاه


                        #12
                        پاسخ : مشکل با کدهای اضافی

                        دوست من فارسی بنویس. خوندنش سخته !
                        إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
                        کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)

                        دیدگاه


                          #13
                          پاسخ : مشکل با کدهای اضافی

                          پس از ریست فقط رجیستر ها هستند که به حالت default بر می گردند

                          اطلاعات sram پاک نمیشه
                          موفق باشید
                          امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                          دیدگاه


                            #14
                            پاسخ : مشکل با کدهای اضافی

                            نوشته اصلی توسط Abbas Sarami
                            پس از ریست فقط رجیستر ها هستند که به حالت default بر می گردند

                            اطلاعات sram پاک نمیشه
                            موفق باشید
                            بله پاک نمیشه . ولی ما هم دیگه به متغییر هایی که تعریف کردیم دسترسی نداریم . عملا بدون استفاده میشه !
                            إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
                            کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)

                            دیدگاه


                              #15
                              پاسخ : مشکل با کدهای اضافی

                              سلام به همه :nerd:
                              من این کار رو خیلی راحت انجام دادم
                              حالام میگم تا بقیه دوستان استفاده کنند
                              کافیه یه فایل .h بسازید و اون بخش از کد رو توش بریزید
                              بعدشم اون فایل رو اول برنامتون اینکلود کنید.
                              توجه : برای توابعی که متغیر تعریف کردید باید اون متغیرها رو اول برنامتون به صورت extern تعریف کنید.
                              من کدهام حدود 10000 خط شده بود و کلی کلافه بودم
                              تا اینکه رسوندمش به 300 خط.

                              دیدگاه

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