اطلاعیه

Collapse
No announcement yet.

سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

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

    #31
    پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

    نوشته اصلی توسط saeed_eca
    نه لایسنسش رو زده تو هلپ برنامم. حالا واقعا علت تولید نکردن فایل هگز چیه ؟!
    خطایی چیزی بهتون نمیگیره؟
    اصلا کامپایل میکنه؟
    بعضی وقتا کامپایل میکنه ولی لینک انجام نمیده که منجر میشه فایل هگز تولید نشه.

    دیدگاه


      #32
      پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

      بله کامپایل میکنه و اون صفحه کوچک مربوط به ارور ها و میزان حافظه استفاده شده و... هم اوکی میده . اما توی نوار سمت چپ و قسمتی که سیو کردم فایل هگز ندارم :(
      موفقیت = یک درصد نبوغ ، 99 درصد عرق ریختن
      (ادیسون)

      دیدگاه


        #33
        پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

        نوشته اصلی توسط saeed_eca
        بله کامپایل میکنه و اون صفحه کوچک مربوط به ارور ها و میزان حافظه استفاده شده و... هم اوکی میده . اما توی نوار سمت چپ و قسمتی که سیو کردم فایل هگز ندارم :(
        ببینید من خیلی وقته با کد ویژن کار نکردم ولی یادمه اون موقع ها یک گزینه ای داشت به اسم build all همین رو میزنید دیگه؟
        چون اینی که شما میگید یعنی اینکه لینک انجام نداده.

        دیدگاه


          #34
          پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

          نوشته اصلی توسط saeed_eca
          بله کامپایل میکنه و اون صفحه کوچک مربوط به ارور ها و میزان حافظه استفاده شده و... هم اوکی میده . اما توی نوار سمت چپ و قسمتی که سیو کردم فایل هگز ندارم :(
          شما با اولتونه که می خوایین کار کنین، درسته؟

          دیدگاه


            #35
            پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

            هر کی یه روز بار اولش بوده ! حالا مثلا این چه سوالیه ؟!
            موفقیت = یک درصد نبوغ ، 99 درصد عرق ریختن
            (ادیسون)

            دیدگاه


              #36
              پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

              نوشته اصلی توسط saeed_eca
              هر کی یه روز بار اولش بوده ! حالا مثلا این چه سوالیه ؟!
              بله، منم منظور بدی نداشتم. می خواستم بگم اگه دردسر میکشی بهتر اول یه فیلم آموزشی کامل از نت بگیری(واسه کدویژن من خودم فکر کنم توی مهندس یار دیدم) و کامل ببینی تا این مسائل برطرف بشه. اینجوری دیگه اذیت نمیشی.

              پ.ن: لزومی نداره ناراحت بشی. ایتجا کسی، فرد دیگه ای رو محکوم نمیکنه که چرا بلد نیست. من خودم اینجا بیسوادترین فرد هستم. :smile: اینجا فقط می خواییم کمک کنیم(من فقط می خواستم سریعترین راه رو پیشنهاد بدم).

              دیدگاه


                #37
                پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                من بیلد آل رو میزنم ولی فایل هگز رو ایجاد نمی کنه . لطفا با توجه به عنوان تاپیک دوستانی که می دونند جواب بدن...
                موفقیت = یک درصد نبوغ ، 99 درصد عرق ریختن
                (ادیسون)

                دیدگاه


                  #38
                  پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                  داخل پوشه exe رو نگاه کن هست .
                  اگه نبود ، برنامت ارور داره و فایل هگز رو ایجاد نمی کنه تا ارور رو برطرف نکنی .

                  دیدگاه


                    #39
                    پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                    نوشته اصلی توسط webyou
                    داخل پوشه exe رو نگاه کن هست .
                    اگه نبود ، برنامت ارور داره و فایل هگز رو ایجاد نمی کنه تا ارور رو برطرف نکنی .
                    بر عکس، من فکر میکنم که مشکل از کرک هست.
                    من مشتاقم بدونم چطور کرک کرده برنامه رو.

                    دیدگاه


                      #40
                      پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                      سلام
                      دوستان من دنبال یه راهکاری هستم که بعد از شیفت یک عدد باینری،اعدادی که خارج میشوند وارد یک عدد دیگر شوند!
                      مثلا :

                      1001 وقتی یک شیفت به راشت داده شد اون یکی که خارج میشه مشخص بشه.یعنی مشخص بشه که یک خارج شده و از اون یک خارج شده بشه استفاده کرد !

                      ممنون
                      * هر گاه خدا بخواهد بنده ای را خوار کند، دانش را از او دور سازد.
                      * سخن بگویید تا شناخته شوید، زیرا که انسان در زیر زبان خود پنهان است.
                      *بدترین دوست،آ‌ کسی است که برای او به رنج و زحمت افتی.
                      حضرت علی(ع)
                      آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

                      دیدگاه


                        #41
                        پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                        سلام خدمت دوستان
                        من این برنامه خیلی ساده رو نوشتم یه ثانیه شمار هست. مشکلی که داره اینکه build که میکنم ارور error occured during assembly میده.
                        اگه بگین مشکلش چیه ممنون میشم.
                        کد:
                        #include <mega32.h>
                        #include <delay.h>
                        #include <lcd.h>
                        #include <stdlib.h>
                        long int a,b,c; 
                        unsigned char code (unsigned char no)
                        {
                          switch (no) {
                          case 0:
                          break;
                          return 0x3f;
                          case 1:
                          break;
                          return 0x06;
                          case 2:
                          break;
                          return 0x5b;
                          case 3:
                          break;
                          return 0x4f;
                          case 4:
                          break;
                          return 0x66;
                          case 5:
                          break;
                          return 0x6d;
                          case 6:
                          break;
                          return 0x7d;
                          case 7:
                          break;
                          return 0x07;
                          case 8:
                          break;
                          return 0x7f;
                          case 9:
                          break;
                          return 0x6f;
                          }}   
                          void main (void)
                          {     
                          c=0;
                          a=0;
                          b=0;
                          DDRB = 0xff;
                          lcd_init(16);
                          TCCR0 = 0x01;
                          TCNT0 = 0x37;
                          TIMSK = 0x01; 
                          OCR0 = 0x00;
                          #asm("sei")
                          while (1);
                          }
                        
                        interrupt [TIM0_OVF]
                        void timer0_ovf_isr (void)
                        {
                          TCNT0 = 0x37;
                          b++;
                          if (b==4000)
                          {
                            a++;
                            b=0;  
                            c=a;
                            PORTB = code (c);
                            if (c>9) c=0;    
                          }    
                        
                        }

                        دیدگاه


                          #42
                          پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                          نوشته اصلی توسط ColooP
                          سلام
                          دوستان من دنبال یه راهکاری هستم که بعد از شیفت یک عدد باینری،اعدادی که خارج میشوند وارد یک عدد دیگر شوند!
                          مثلا :

                          1001 وقتی یک شیفت به راشت داده شد اون یکی که خارج میشه مشخص بشه.یعنی مشخص بشه که یک خارج شده و از اون یک خارج شده بشه استفاده کرد !

                          ممنون
                          خود کامپایلر انواع شیفت را ساپورت میکنه و بدونه اینکه از جزئیات بخواهید باخبر شید براتون انجام میده.(میتونید همه کار کنید) ولی خوب اگر خیلی سطح پایین نگاه کنیم ، این اعدادی که خارج میشن کری ( carry ) هستند و در پردازنده ها یک رجیستر به نام psw هست که وضعیت فلگ های مختلف در اون قرار میگیره.
                          تو avr این رجیستر اسمش SREG است که بیت 0 آن کری فلگ میباشد.و تو عمل شیفت اگر بیت خارج شده 1 باشد کری فلگ 1 میشود.
                          راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                          کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                          نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                          http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                          انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                          دیدگاه


                            #43
                            پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                            نوشته اصلی توسط navid.h
                            سلام خدمت دوستان
                            من این برنامه خیلی ساده رو نوشتم یه ثانیه شمار هست. مشکلی که داره اینکه build که میکنم ارور error occured during assembly میده.
                            اگه بگین مشکلش چیه ممنون میشم.
                            کد:
                            #include <mega32.h>
                            #include <delay.h>
                            #include <lcd.h>
                            #include <stdlib.h>
                            long int a,b,c; 
                            unsigned char code (unsigned char no)
                            {
                              switch (no) {
                              case 0:
                              break;
                              return 0x3f;
                              case 1:
                              break;
                              return 0x06;
                              case 2:
                              break;
                              return 0x5b;
                              case 3:
                              break;
                              return 0x4f;
                              case 4:
                              break;
                              return 0x66;
                              case 5:
                              break;
                              return 0x6d;
                              case 6:
                              break;
                              return 0x7d;
                              case 7:
                              break;
                              return 0x07;
                              case 8:
                              break;
                              return 0x7f;
                              case 9:
                              break;
                              return 0x6f;
                              }}   
                              void main (void)
                              {     
                              c=0;
                              a=0;
                              b=0;
                              DDRB = 0xff;
                              lcd_init(16);
                              TCCR0 = 0x01;
                              TCNT0 = 0x37;
                              TIMSK = 0x01; 
                              OCR0 = 0x00;
                              #asm("sei")
                              while (1);
                              }
                            
                            interrupt [TIM0_OVF]
                            void timer0_ovf_isr (void)
                            {
                              TCNT0 = 0x37;
                              b++;
                              if (b==4000)
                              {
                                a++;
                                b=0;  
                                c=a;
                                PORTB = code (c);
                                if (c>9) c=0;    
                              }    
                            
                            }
                            پورت السیدی را مشخص نکردید.
                            مثلا برای پورت A این رو به برنامه اضافه کنید
                            کد:
                            #asm
                            .equ __lcd_port=0x1B ;PORTA
                            #endasm
                            راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                            کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                            نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                            http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                            انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                            دیدگاه


                              #44
                              پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                              نوشته اصلی توسط RubeuS
                              پورت السیدی را مشخص نکردید.
                              مثلا برای پورت A این رو به برنامه اضافه کنید
                              کد:
                              #asm
                              .equ __lcd_port=0x1B ;PORTA
                              #endasm
                              درست میگید. این سه خط رو اضافه میکنم درست میشه اما زمانی که میبرمش تو پروتئوس اصلا سگمنت یه چیزای بی ربطی نشون میده.

                              دیدگاه


                                #45
                                پاسخ : سوالات مربوط به زبان C و کدویژن(در میکر&#160

                                چون کلا برنامتون ایراد داره
                                اصلا کلا دیدگاهتون ایراد داره: به نظر میاد شما میخواهید رو سون سگمنت یه سری عدد نشون بدید، بعد چی کار دارید به السیدی؟ قصد دارید یه سری مقدار بریزید رو پورت B ( که فکر میکنم کلا سوویچتونم اشتباهه چون اول بریک میکنید بعد return)
                                راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                                کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                                نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                                http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                                انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                                دیدگاه

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