اطلاعیه

Collapse
No announcement yet.

شروع برنامه نویسی AVR

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

    شروع برنامه نویسی AVR

    با سلام ، به همه دوستان این اولین پست من در این سایت است راستش من می خواهم برنامه نویسی را برای میکروکنترلهای AVR شروع کنم ولی نمی دونم از کجا باید شروع کنم در ضمن من هیج تجربه ای در زمینه برنامه نویسی با هیچ زبانی را ندارم ، لطفاً راهنمایی کنید . با تشکر

    #2
    پاسخ : شروع برنامه نویسی AVR

    خب از لحاظ سادگی می تونی با بیسیک و نرم افزار معروفش Bascom کار کنی. ولی در کل کار با زبان C و نرم افزار Codevision رو برای شروع بهت توصیه می کنم.
    یه نمونه آموزش بسکام:
    http://www.eca.ir/forum2/index.php?topic=7070.0

    یه نمونه آموزش Codevision :
    http://www.eca.ir/forum2/index.php?topic=12492.0

    دیدگاه


      #3
      پاسخ : شروع برنامه نویسی AVR

      با سلام
      اگر به زبان C علاقهآ‌مند هستید من به شما avr-gcc رو پیشنهاد میآ‌کنم که در ویندوز بهش WinAvr هم میآ‌گویند. این کامپایلر خیلی خیلی بهتر از codevision است. تنها ویژگی مهم codevision استفاده از code-wizard است که به شما کمک میآ‌کنه و خودش بعضی رجیسترها رو فعال میآ‌کنه (البته این بدی رو هم داره که طراح تنبل میآ‌شه و سراغ دیتاشیت نمیآ‌ره). به جز این ویژگی عملکرد کامپایلرش خیلی خیلی بده.
      من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

      دیدگاه


        #4
        پاسخ : شروع برنامه نویسی AVR

        نوشته اصلی توسط manian
        با سلام
        اگر به زبان C علاقهآ‌مند هستید من به شما avr-gcc رو پیشنهاد میآ‌کنم که در ویندوز بهش WinAvr هم میآ‌گویند. این کامپایلر خیلی خیلی بهتر از codevision است. تنها ویژگی مهم codevision استفاده از code-wizard است که به شما کمک میآ‌کنه و خودش بعضی رجیسترها رو فعال میآ‌کنه (البته این بدی رو هم داره که طراح تنبل میآ‌شه و سراغ دیتاشیت نمیآ‌ره). به جز این ویژگی عملکرد کامپایلرش خیلی خیلی بده.
        می تونید بفرمایید اشکالات CodeVisionAVR به نظرتون چه مواردیه؟

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

        دیدگاه


          #5
          پاسخ : شروع برنامه نویسی AVR

          نوشته اصلی توسط رضا سپاس یار


          می تونید بفرمایید اشکالات CodeVisionAVR به نظرتون چه مواردیه؟

          با سلام
          چندین دلیل وجود داره که من به اختصار میآ‌گم البته این مشکلات و ضعفآ‌ها مربوط به تجربه ۲ سال قبل من با این برنامه است و ممکن است در ورژنآ‌های جدیدتر بهتر شده باشه:
          ۱. زبان C این برنامه با ANSI-C سازگار نیست و یه چیز من درآوردی است. مثلا PORTB.5
          ۲. در راستای مشکل قبل خیلی از شماره بیتآ‌ها اینجا تعرف نشده است یعنی شما نمیآ‌توانید به این صورت یک رجیستر رو مقدار دهی کنید چیزی که در دیتاشیتآ‌ هم معموله:
          کد:
          DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);
          ۳. کد تولید شده اصلا خوب optimize نمیآ‌شه من به شخصه این رو در برسی اسمبلی مرتبط با یه ISR تولید شده دیدم. البته الان باید تست بشه شاید بهبود پیدا کرده باشه؟
          ۴. محیط کاملا یکآ‌پارچه است که برای یک کاربر خیلی مبتدی خوبه ولی قابلیت انعطاف رو میآ‌گیره. شما مجبور هستید از editor خود برنامه استفاده کنید یعنی نمیآ‌توانید از بیرون کامپایلر رو صدا کنید. و یا همین مشکل برای پروگرمرآ‌های دیگه. مطمئن نیستم ولی امکان صدا کردن یک برنامه خارجی در محیط این برنامه وجود داره یا نه؟
          ۵. برای اجرا نیاز به admin دارید، این مشکل به عنوان مثال وقتی ایجاد میآ‌شه که بخواهید این برنامه رو روی کامپیوترهای یک شبکه برای دیگران نصب کنید.
          اینآ‌ها شاید برای همه مهم نباشه:
          ۶. برنامه فقط در ویندوز اجرا میآ‌شود.
          ۷. برنامه پولی است و باید آن را کرک کنید و یا از نسخه demo استفاده کنید.

          من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

          دیدگاه


            #6
            پاسخ : شروع برنامه نویسی AVR

            نوشته اصلی توسط manian


            می تونید بفرمایید اشکالات CodeVisionAVR به نظرتون چه مواردیه؟

            با سلام
            چندین دلیل وجود داره که من به اختصار میآ‌گم البته این مشکلات و ضعفآ‌ها مربوط به تجربه ۲ سال قبل من با این برنامه است و ممکن است در ورژنآ‌های جدیدتر بهتر شده باشه:
            ۱. زبان C این برنامه با ANSI-C سازگار نیست و یه چیز من درآوردی است. مثلا PORTB.5
            ۲. در راستای مشکل قبل خیلی از شماره بیتآ‌ها اینجا تعرف نشده است یعنی شما نمیآ‌توانید به این صورت یک رجیستر رو مقدار دهی کنید چیزی که در دیتاشیتآ‌ هم معموله:
            کد:
            DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);
            ۳. کد تولید شده اصلا خوب optimize نمیآ‌شه من به شخصه این رو در برسی اسمبلی مرتبط با یه ISR تولید شده دیدم. البته الان باید تست بشه شاید بهبود پیدا کرده باشه؟
            ۴. محیط کاملا یکآ‌پارچه است که برای یک کاربر خیلی مبتدی خوبه ولی قابلیت انعطاف رو میآ‌گیره. شما مجبور هستید از editor خود برنامه استفاده کنید یعنی نمیآ‌توانید از بیرون کامپایلر رو صدا کنید. و یا همین مشکل برای پروگرمرآ‌های دیگه. مطمئن نیستم ولی امکان صدا کردن یک برنامه خارجی در محیط این برنامه وجود داره یا نه؟
            ۵. برای اجرا نیاز به admin دارید، این مشکل به عنوان مثال وقتی ایجاد میآ‌شه که بخواهید این برنامه رو روی کامپیوترهای یک شبکه برای دیگران نصب کنید.
            اینآ‌ها شاید برای همه مهم نباشه:
            ۶. برنامه فقط در ویندوز اجرا میآ‌شود.
            ۷. برنامه پولی است و باید آن را کرک کنید و یا از نسخه demo استفاده کنید.

            [/quote]

            1. درسته. مثلا CodeVisonAVR از stream پشتیبانی نمیکنه و این مسئله زمانی که بخواهید File بسازید مشکل ساز میشه. (توابع fopen() و fclose() )

            2. بله این هم یک مشکله اما میشه با کپی کردن #define رجیسترها (از هدرهای avr-gcc یا IAR) حلش کرد.

            3. این هم درسته اما فکر می کنم avr-gcc هم ایده آل نیست:
            http://www.iar.com/website1/1.0.1.0/115/1/index.php

            4. برنامه های خارجی رو که می تونید از داخل کامپایلر اجرا کنید:
            از مسیر Project/Configure/After Make و Project/Configure/Before Make
            اما این که مثل avr-gcc بشه Makefile نوشت، خیر.

            5. نمی دونستم.

            7. و یا می تونید اون رو بخرید :smile:
            There is nothing so practical as a good theory. — Kurt Lewin, 1951

            دیدگاه


              #7
              پاسخ : شروع برنامه نویسی AVR

              نوشته اصلی توسط رضا سپاس یار


              می تونید بفرمایید اشکالات CodeVisionAVR به نظرتون چه مواردیه؟

              با سلام
              چندین دلیل وجود داره که من به اختصار میآ‌گم البته این مشکلات و ضعفآ‌ها مربوط به تجربه ۲ سال قبل من با این برنامه است و ممکن است در ورژنآ‌های جدیدتر بهتر شده باشه:
              ۱. زبان C این برنامه با ANSI-C سازگار نیست و یه چیز من درآوردی است. مثلا PORTB.5
              ۲. در راستای مشکل قبل خیلی از شماره بیتآ‌ها اینجا تعرف نشده است یعنی شما نمیآ‌توانید به این صورت یک رجیستر رو مقدار دهی کنید چیزی که در دیتاشیتآ‌ هم معموله:
              کد:
              DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);
              ۳. کد تولید شده اصلا خوب optimize نمیآ‌شه من به شخصه این رو در برسی اسمبلی مرتبط با یه ISR تولید شده دیدم. البته الان باید تست بشه شاید بهبود پیدا کرده باشه؟
              ۴. محیط کاملا یکآ‌پارچه است که برای یک کاربر خیلی مبتدی خوبه ولی قابلیت انعطاف رو میآ‌گیره. شما مجبور هستید از editor خود برنامه استفاده کنید یعنی نمیآ‌توانید از بیرون کامپایلر رو صدا کنید. و یا همین مشکل برای پروگرمرآ‌های دیگه. مطمئن نیستم ولی امکان صدا کردن یک برنامه خارجی در محیط این برنامه وجود داره یا نه؟
              ۵. برای اجرا نیاز به admin دارید، این مشکل به عنوان مثال وقتی ایجاد میآ‌شه که بخواهید این برنامه رو روی کامپیوترهای یک شبکه برای دیگران نصب کنید.
              اینآ‌ها شاید برای همه مهم نباشه:
              ۶. برنامه فقط در ویندوز اجرا میآ‌شود.
              ۷. برنامه پولی است و باید آن را کرک کنید و یا از نسخه demo استفاده کنید.

              [/quote]

              1. درسته. مثلا CodeVisonAVR از stream پشتیبانی نمیکنه و این مسئله زمانی که بخواهید File بسازید مشکل ساز میشه. (توابع fopen() و fclose() )

              2. بله این هم یک مشکله اما میشه با کپی کردن #define رجیسترها (از هدرهای avr-gcc یا IAR) حلش کرد.

              3. این هم درسته اما فکر می کنم avr-gcc هم ایده آل نیست:
              http://www.iar.com/website1/1.0.1.0/115/1/index.php

              4. برنامه های خارجی رو که می تونید از داخل کامپایلر اجرا کنید:
              از مسیر Project/Configure/After Make و Project/Configure/Before Make
              اما این که مثل avr-gcc بشه Makefile نوشت، خیر.

              5. نمی دونستم.

              7. و یا می تونید اون رو بخرید :smile:
              [/quote]
              با سلام
              در مورد پورت کردن کد کدویژن به کامپایلرهای دیگه و بالعکس هم مشکلات خیلی زیادی وجود داره مثلا همه دسترسیآ‌های بیتی port.x باید عوض شوند. علاوه بر آن اگر شما بخواهید از کدهای موجود در اینترنت و همچنین کتابخانهآ‌ها استفاده کنید مشکل خواهید داشت. چون معمولا برای gcc هست.
              در مورد آخر هم: ما که پول نداریم بخریم ولی این نکته در جاهایی که قوانین کپی رایت وجود داره خیلی مهمه یکی از دلایل اقبال به gcc هم هزینه است. این IAR هم به نظر از بهترینآ‌ها میآ‌آید ولی به علت قیمت به قول خودتون Hobbyist Friendly نیست :smile:!
              من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

              دیدگاه


                #8
                پاسخ : شروع برنامه نویسی AVR

                سلام به همگی فکر کنم با توجه به توصیه دوستان گرامی منطقی تر باشه به سراغ بیسیک برم خوب بجز این آموزشی که در سایت بود و کلی میشد ازش استفاده کرد (همینجا از ایشان جهت ایجاد این آموزش تشکر میکنم) آیا کتاب یا منبع آموزشی دیگری وجود دارد که آن را تهیه کنم و در ضمن من هرچه قدر تلاش کردم نتوانستم برنامه بیسکام و شبیه ساز پروتوس را دانلود کنم همه لینکها خراب بود راستی حجم این دو برنامه چقدر است آیا میتوان آنها را از وب دانلود کرد یا باید از مغازه ها تهیه کنم با تشکر از کلیه دوستان :wow: :wow: :wow:

                دیدگاه


                  #9
                  پاسخ : شروع برنامه نویسی AVR

                  خب مسلما کار با بیسیک راحت تره. برای شروع کتاب علی کاهه خوبه( البته این تنها کتابی بوده که خودم خوندم. شاید کتاب بهتری هم باشه). لینک نرم افزار BASCOM و PROTEUS هم تو سایت هست. یه سرچ کن. این نرم افزارها رو هم از فروشگاه سایت می تونی بخری

                  دیدگاه


                    #10
                    پاسخ : شروع برنامه نویسی AVR

                    سلام به همه ی دوستان .

                    چند مقاله در وبلاگ زیر هست که می تونی از اونا هم استفاده کنی .
                    یک مقاله هم هست که خودم نوشتمش و نحوه ی پروگرم کردن رو با CodeVisionAVR آموزش میده . در ضمن فیوزبیتها رو هم به اختصار توضیح داده .

                    www.kamangari.blogfa.com
                    http://www.kamangari.blogfa.com
                    ارسال برترین جزوات کنکور ارشد برق

                    دیدگاه


                      #11
                      پاسخ : شروع برنامه نویسی AVR

                      با سلام خدمت همه دوستان ... من تازه به این انجمن اومدم

                      لطفا اگر کسی راهنمای فارسی برای برنامه Kontrollerlab تحت لینوکس داره به من معرفی کنه ؟؟
                      در ضمن نظرتون در مورد برنامه نویسی میکرو با پایتون چی هست ؟ یا همون Bascom بهتره
                      Put the fun back into computing. Use Linux

                      دیدگاه


                        #12
                        پاسخ : شروع برنامه نویسی AVR

                        نوشته اصلی توسط parsix-linux
                        با سلام خدمت همه دوستان ... من تازه به این انجمن اومدم

                        لطفا اگر کسی راهنمای فارسی برای برنامه Kontrollerlab تحت لینوکس داره به من معرفی کنه ؟؟
                        در ضمن نظرتون در مورد برنامه نویسی میکرو با پایتون چی هست ؟ یا همون Bascom بهتره
                        با سلام
                        [s]فکر نکنم کامپایلری برای پیتون باشه چون یکم سطح بالا است.[/s] ولی به هر حال پیتون از زیباترین زبانآ‌های موجود است که واقعا عالی است.
                        در مورد kontrollerlab هم :
                        http://www.irantux.org/html/index.php?name=Sections&req=viewarticle&ar tid=204&page=1
                        http://download.n-kh.ir/introduction%20to%20kontrollerlab.pdf
                        و به قول این جماعت لینوکسی JFGI
                        من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

                        دیدگاه


                          #13
                          پاسخ : شروع برنامه نویسی AVR

                          خیلی ممنون که جواب دادید :biggrin:
                          اما از پایتون هم میشه استفاده کرد با استفاده از ابزارهایی مثل pyMITE و pyastara و pyET
                          Put the fun back into computing. Use Linux

                          دیدگاه


                            #14
                            پاسخ : شروع برنامه نویسی AVR

                            با سلام با عرض پوزش این کتابی معرفی کردین اسمی نداره این اسمی که دادین ، اسم نویسنده کتاب است ?
                            با تشکر

                            دیدگاه


                              #15
                              پاسخ : شروع برنامه نویسی AVR

                              میکروکنترلرهای AVR
                              نویسنده : علی کاهه

                              دیدگاه

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