اطلاعیه

Collapse
No announcement yet.

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

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

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

    quote author=rozeh link=topic=79556.msg482051#msg482051 date=1373865580]
    شما محاسباتتون فقط همین ضرب بود؟
    ممکنه بیشتر باشه!

    [/quote]
    آره همینه بعضی اوقات تغییر میکنه اما کلیش اینه
    نوشته اصلی توسط hamidreza.nayeri
    برای اینکه مدار پردازنده ۸ بیتیه نوع لانگ هم ۱۶ بیتی تعریف میشه.
    همون مشکل int رو داره باز هم.
    حالا راه کارش چیه؟چکارکنیم این مشکل نباشه؟

    دیدگاه


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

      نوشته اصلی توسط rozeh
      عجیبه!
      من همین الان با مگا32a یه کد ساختم. oo:
      یعنی چی نداشت؟ شما ورژن کامپایلرتون چنده؟
      نسخه 1.25.8 سال 2007 هست . با a که میزارم همون ارور ها رو میده ..اگه میشه پست 13 رو هم جواب بدید !
      موفقیت = یک درصد نبوغ ، 99 درصد عرق ریختن
      (ادیسون)

      دیدگاه


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

        نوشته اصلی توسط morteza7090
        آره همینه بعضی اوقات تغییر میکنه اما کلیش اینهحالا راه کارش چیه؟چکارکنیم این مشکل نباشه؟
        ببین با دابل مشکلت حل میشه.
        اگه نشد برو تو منو project>configure>C compiler توی قسمت code generation اینجا که نوشته bit variable size کم و زیادش کن ببین مشکلت حل میشه.


        نوشته اصلی توسط saeed_eca
        نسخه 1.25.8 سال 2007 هست . با a که میزارم همون ارور ها رو میده ..اگه میشه پست 13 رو هم جواب بدید !
        ورژنش واقعا پایینه. من 2.05.3 دارم. تو نت گیرت میاد. بگیر و جایگزین کن.

        نوشته اصلی توسط saeed_eca
        بله مشکل از همون a بود.اگه میشه این مفهوم این دستور رو هم بگید تو کتاب علامتش رو پیدا نکردم : PORTA=~1<<i

        و یه سوال دیگم اینکه چه موقع باید از حافظه فلش استفاده کنم و چه موقع از حافظه ای ای پی رام ...برای مثال یک رقص نور ساده رو باید تو کدوم حافظه لود و پروگرام کنم ؟
        i رو به اندازه 1 به چپ شیفت میده و بعد با ~ مکملش میکنه.
        برای جواب این سوالتون هم توصیه میکنم تفاوت این دو رو بدونید تا متوجه بشید:


        http://www.edaboard.com/thread57522.html

        دیدگاه


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

          نوشته اصلی توسط saeed_eca
          بله مشکل از همون a بود.اگه میشه این مفهوم این دستور رو هم بگید تو کتاب علامتش رو پیدا نکردم : PORTA=~1<<i

          و یه سوال دیگم اینکه چه موقع باید از حافظه فلش استفاده کنم و چه موقع از حافظه ای ای پی رام ...برای مثال یک رقص نور ساده رو باید تو کدوم حافظه لود و پروگرام کنم ؟
          والا اگر اون علامت ~ نباشه یعنی یک رو به اندازه i به سمت چپ شبفت بده و نتیجه رو بریز رو پورت a. اما با وجود اون علامت یعنی مقدار 0xFE رو شیفت بده.

          دیدگاه


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

            نوشته اصلی توسط rozeh
            میشه دقیق تر توضیح بدید موضوع از چه قراره؟
            چون توی کتاب های C همچین چیزی نگفته و فقط رنج و سایز رو گفته.
            البته من حدس میزنم به خاطر این باشه. کامپایلر C فوق العاده پیچیده است و حدس زدن رفتارش واقعا کار حضرت فیله.
            البته الان که فکر میکنم میبینم شاید این هم نباشه.
            شما متن پیغامی که میده رو به همراه کدی که بهش ایراد میگیره رو میشه اینجا بذارید؟ این طوری نمیشه گفت.
            ولی گفتم شاید به خاطر این باشه که پردازنده تون ۸ بیتیه و تو کامپایلر شما محاسبات 32 بیتی برای این پردازنده ها پشتیبانی نشده.
            از یه کامپایلر جدید تر استفاده کنید ببینید چی میگه. میتونه به خاطر قدیمی بودن کامپایلرتون هم باشه.

            دیدگاه


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

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

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

              دیدگاه


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

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

                دیدگاه


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

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

                  دیدگاه


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

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

                    دیدگاه


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

                      سلام
                      داشتم توی تاپیکاتون میچرخیدم که به INCLUDE ال سی دی های TFT (چینی ان 96) برخوردم. خیلی فوری.
                      اون تو یه اینکلود بود و من اونو کپی کردم ولی هرچی از توابعشو مینویسم صفحه اینکلود رو میاره و به اکثر خطهای انکلود گیر میده!
                      البته اون تو delay.h رو اینکلود کردم و دیگه خطوط مربوط به delay رو ارور نگرفت.منتها ارور بقیه سرجاشه.Error: D:\cvavr2\inc\tftlcd_functions.h(222), included
                      from: test2.c: undefined symbol 'LCD_DATAPORT_MSB_PORT' مثلا این یکیشه

                      راستی اینم اون اینکلوده که گفتم tftlcd_functions.h

                      ممنون ، فوری
                      ورژن کدویژنم 2.05.3 الیبته با 2.04 هم مشکل داشت ممنون

                      البته اینا رو بالاش کپی کردم درست شد (فقط وارنینگ میده اونهم باز از توی خود لایبرری)
                      #include <mega128.h>
                      #include <delay.h>
                      #include <stdlib.h>


                      #define LANDSCAPE
                      #define LCD_RST_DDR DDRB
                      #define LCD_RST_PORT PORTB
                      #define LCD_RST_PIN 0
                      #define LCD_RS_DDR DDRB
                      #define LCD_RS_PORT PORTB
                      #define LCD_RS_PIN 1
                      #define LCD_CS_DDR DDRB
                      #define LCD_CS_PORT PORTB
                      #define LCD_CS_PIN 2
                      #define LCD_RD_DDR DDRB
                      #define LCD_RD_PORT PORTB
                      #define LCD_RD_PIN 3
                      #define LCD_WR_DDR DDRB
                      #define LCD_WR_PORT PORTB
                      #define LCD_WR_PIN 4
                      #define LCD_DATAPORT_MSB_DDR DDRC
                      #define LCD_DATAPORT_MSB_PORT PORTC
                      #define LCD_DATAPORT_MSB_PIN PINC
                      #define LCD_DATAPORT_LSB_DDR DDRD
                      #define LCD_DATAPORT_LSB_PORT PORTD
                      #define LCD_DATAPORT_LSB_PIN PIND

                      #define LCD_CONTROLPORT_DDR DDRB
                      #define LCD_CONTROLPORT_PORT PORTB
                      #define LCD_CONTROLPORT_PIN PINB

                      #include <tftlcd_functions.h>

                      #define ADC_VREF_TYPE 0xC0



                      من با کدویزارد هم میزنم و این فقط قسمت بالای برنامه است. مشکل چی بوده؟؟؟؟؟؟؟؟ البته قبلا چندتاشو زده بودم.
                      1..
                      ممنون میشم بگید با کدوم حل شده؟
                      2.این قضیه اینکلود IO میکرو چیه اینجا؟؟

                      دیدگاه


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

                        نوشته اصلی توسط electronic_2222
                        سلام
                        داشتم توی تاپیکاتون میچرخیدم که به INCLUDE ال سی دی های TFT (چینی ان 96) برخوردم. خیلی فوری.
                        اون تو یه اینکلود بود و من اونو کپی کردم ولی هرچی از توابعشو مینویسم صفحه اینکلود رو میاره و به اکثر خطهای انکلود گیر میده!
                        البته اون تو delay.h رو اینکلود کردم و دیگه خطوط مربوط به delay رو ارور نگرفت.منتها ارور بقیه سرجاشه.Error: D:\cvavr2\inc\tftlcd_functions.h(222), included
                        from: test2.c: undefined symbol 'LCD_DATAPORT_MSB_PORT' مثلا این یکیشه

                        راستی اینم اون اینکلوده که گفتم tftlcd_functions.h

                        ممنون ، فوری
                        ورژن کدویژنم 2.05.3 الیبته با 2.04 هم مشکل داشت ممنون

                        البته اینا رو بالاش کپی کردم درست شد (فقط وارنینگ میده اونهم باز از توی خود لایبرری)
                        #include <mega128.h>
                        #include <delay.h>
                        #include <stdlib.h>


                        #define LANDSCAPE
                        #define LCD_RST_DDR DDRB
                        #define LCD_RST_PORT PORTB
                        #define LCD_RST_PIN 0
                        #define LCD_RS_DDR DDRB
                        #define LCD_RS_PORT PORTB
                        #define LCD_RS_PIN 1
                        #define LCD_CS_DDR DDRB
                        #define LCD_CS_PORT PORTB
                        #define LCD_CS_PIN 2
                        #define LCD_RD_DDR DDRB
                        #define LCD_RD_PORT PORTB
                        #define LCD_RD_PIN 3
                        #define LCD_WR_DDR DDRB
                        #define LCD_WR_PORT PORTB
                        #define LCD_WR_PIN 4
                        #define LCD_DATAPORT_MSB_DDR DDRC
                        #define LCD_DATAPORT_MSB_PORT PORTC
                        #define LCD_DATAPORT_MSB_PIN PINC
                        #define LCD_DATAPORT_LSB_DDR DDRD
                        #define LCD_DATAPORT_LSB_PORT PORTD
                        #define LCD_DATAPORT_LSB_PIN PIND

                        #define LCD_CONTROLPORT_DDR DDRB
                        #define LCD_CONTROLPORT_PORT PORTB
                        #define LCD_CONTROLPORT_PIN PINB

                        #include <tftlcd_functions.h>

                        #define ADC_VREF_TYPE 0xC0



                        من با کدویزارد هم میزنم و این فقط قسمت بالای برنامه است. مشکل چی بوده؟؟؟؟؟؟؟؟ البته قبلا چندتاشو زده بودم.
                        1..
                        ممنون میشم بگید با کدوم حل شده؟
                        2.این قضیه اینکلود IO میکرو چیه اینجا؟؟
                        سلام
                        این به نظرم اینطور میرسه که شما فایلی که پیوست کردید (همون اینکلود)، وابستگی های خارجی داشته که اونها رو پیوست نکردید.
                        مثلا وقتی میگه فلان نماد تعریف نشده، اینطور به نظر میرسه که کسی که این فایل رو نوشته ناوارد بوده، تو پروژه خودش قبل از اینکه فایل رو پیوست کنه این نماد ها رو تعریف کرده بعد بهشون ارجاع داده که چون توی پروژه شما این نمادها نسیتند بهتون ایراد میگیره. که البته این موضوع رو شما خودتون متوجه شدید و تا حدودی هم تونستید برطرفش کنید.

                        به نظرم بهتره برید سایتی که این فایل رو ازش دانلود کردید، کل پروژه رو بگیرید و ببینید که این فایل رو دقیقا چطور استفاده کرده شما هم همون طوری استفاده کنید که به مشکل نخورید. چون این تعریف ها شاید باعث بشه برنامه تون کامپایل شه ولی لزوما باعث نمیشه برنامه تون درست عمل کنه.

                        دیدگاه


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

                          از همین سایت گرفتم علی آقا ایمانی فر گذاشته بودن و فقط یک فایل بود که گفته بودن کپی کنید.... کسی با این tftlcd_functions.h کار نکرده؟؟؟

                          دیدگاه


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

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

                            دیدگاه


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

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

                              دیدگاه


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

                                نوشته اصلی توسط electronic_2222
                                از همین سایت گرفتم علی آقا ایمانی فر گذاشته بودن و فقط یک فایل بود که گفته بودن کپی کنید.... کسی با این tftlcd_functions.h کار نکرده؟؟؟
                                آدرس جایی که فایل رو ازش گرفتید رو بذارید یه نگاه بهش بندازیم.

                                دیدگاه

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