آموزش AVR

بسکام، کدویژن یا اتمل استودیو؟ (انتخاب زبان برنامه نویسی AVR)

سلام. آموزشی را با عنوان بسکام، کدویژن یا اتمل استودیو؟ مسئله این است! (آموزش انتخاب زبان و کامپایلر برنامه نویسی AVR) آماده کرده ایم. در این مطلب در مورد کامپایلر آردوینو بحث نمیشود.

بسکام ، کدویژن یا اتمل استودیو ؟ مسئله این است!

آموزش انتخاب زبان و کامپایلر برنامه نویسی AVR

خب همانطور که میدانید ما برای برقراری ارتباط با میکروکنترلر و اینکه به آن ها دستور دهیم کاری را انجام دهند، باید با زبان خاصی با آن ها صحبت کنیم. همه کامپیوتر ها یک زبان دارند ، همه تنها زبان باینری (01010) را میفهمند.

تصویر زیر را ببینید :

نمونه کد باینری

برای انجام عمل ساده جمع 2 با 2 ، کامپیوتر آن همه عدد 0 و 1 را باید پردازش کند. خب اینطور که نمیتوانیم برای یک عمل ساده این همه عدد بنویسیم آن هم با قواعد بسیار پیچیده !

در اینجا ما باید یک مترجم استخدام کنیم تا دستورات ما را به کد های باینری تبدیل کند. این مترجم ها همان کامپایلر ها هستند. کامپایلر ها تنوع زیادی دارند و با زبان های مختلفی میشود به آن ها دستور داد. به طور مثال وقتی سخنگوی کشور های مختلف میخواهند با رئیس سازمان ملل حرف بزنند باید به زبان انگلیسی درخواست خود را بیان کنند. یعنی یک طرف زبان های مختلف قرار دارد و یک طرف تنها زبان انگلیسی و در بین آن ها مترجم !

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

AVR سری میکروکنترلر ها شرکت Atmel هستند، ما این موضوع را در قسمت های قبلی آموزش AVR توضیح داده ایم.

مشاهده آموزش های قبلی : آموزش های میکروکنترلر AVR

آموزش انتخاب زبان و کامپایلر برنامه نویسی AVR

برای برنامه نویسی برای میکروکنترلر ها AVR کامپایلر های مختلفی وجود دارد مثل :

  • Bascom AVR – زبان بیسیک
  • Codevision AVR – زبان C
  • Atmel Studio – زبان اسمبلی | C | C+ | C++
  • Keil – زبان C
  • IAR – زبان ++C/C
  • MiKroC – زبان C
  • WinAVR – زبان C

دقت کنید ، متوجه میشوید که زبان همه بجز بسکام ، به نوعی C است. در کشور ما 3 مورد اول یعنی بسکام ، کدویژن و اتمل استودیو بیشتر از همه جا افتاده هستند.

متاسفانه در ایران برنامه نویسی برای میکروکنترلر های AVR به نوعی محدود به بسکام و کدویژن است. هرچند ما در وبسایت آیرنکس سعی کردیم با قرار دادن پروژه های اتمل استودیو گامی در این زمینه برداشته باشیم.

خب حالا به اینصورت پیش میرویم،

کدویژن یا بسکام ؟

کدویژن یا بسکام ؟

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

باید بگم 100% کدویژن، اما به چه دلیل ؟ زیرا کامپایلر کدویژن از زبان C استفاده میکند اما بسکام از زبان بیسیک. زبان بیسیک نسبت به زبان C بسیار ساده تر است اما نسبت به زبان C محبوبیت کمتری برخوردار است و دسترسی به منابع آن کمتر است مخصوصا در ایران.

توجه داشته باشید که هیچ برنامه ای نیست که بشود با کدویژن نوشت اما با بسکام نشود ! دلیل انتخاب کدویژن به جای بسکام به روز تر بودن آن و محبوب بودن آن در ایران است. یعنی شما در صورت برخورد به یک مشکل خیلی راحت تر میتوانید راهنمایی بگیرید یا از پروژه های آماده کدویژن استفاده کنید.

حالا ما این همه گفتیم زبان C ، باید ویژگی های آن را نیز بدانیم :

  • زبان برنامه نویسی سطح میانی است یعنی نه زیاد سخت و نه زیاد آسان.
  • دارای قدرت بالاست و میتوان در جهت های مختلف از آن استفاده کرد.
  • زبان C تاثیر گذار ترین زبان برنامه نویسی در جهان است.

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

با اینهمه هنوز هم خیلی از افراد حرفه ای هستند که پروژه های پیچیده را هنوز هم با بیسیک انجام میدهند اما اگر تازه شروع میکنید حتما به دنبال یادگیری زبان C بروید !

حالا میرسیم به سوال بعد ،

کدویژن یا اتمل استودیو ؟

کدویژن یا اتمل استودیو ؟

اگر کاربر آیرنکس باشید حتما متوجه میشوید که انتخاب 100 درصدی ما اتمل استودیو است زیرا سایت ما مرجع پروژه های Atmel Studio است.

اتمل استودیو یک کامپایلر است که توسط شرکت Atmel ساخته شده است و به صورت رایگان در اختیار توسعه دهندگان قرار گرفته است. با این کامپایلر علاوه بر برنامه نویسی برای میکروکنترلر های AVR ، میتوان برای میکروکنترلر های ARM هم برنامه نوشت. محیط این نرم افزار برگرفته از نرم افزار ویژوال استودیو است. در اتمل استودیو از کامپایلر GCC استفاده شده است. این کامپایلر در مقایسه با کامپایلرهای دیگر از جمله کامپایلر کدویژن AVR قدرتمندتر است.

در زمان نوشتن این مقاله ، اتمل استودیو تا ورژن 7 منتشر شده است که میتوانید آن را از سایت آیرنکس دانلود کنید : دانلود اتمل استودیو 

این کامپایلر سیر تغییر و تحول عجیبی دارد ! در ابتدا نام این نرم افزار AVR Studio بود و در ورژن 4 تنها یک دیباگر بود و برای کامپایل برنامه نیاز به یک کامپایلر دیگر داشتید. در ورژن 5 ای وی آر استودیو ، قابلیت کامپایلر به این نرم افزار اضافه شد و طرفدار زیادی پیدا کرد. در ورژن 6 ، نام ای وی آر استودیو به اتمل استودیو تغییر یافت. دلیل آن هم این بود که در ورژن 6 به بعد علاوه بر قابلیت برنامه نویسی برای میکروکنترلر های AVR ، میتوانید برای میکروکنترلر ها بر پایه هسته های ARM نیز برنامه نویسی کنید.

با توجه به این که امروزه کتابخانه های های مختلف برای Atmel Studio موجود است، برای کار با میکروکنترلرهای AVR  توصیه ما این است از کامپایلر اتمل استودیو استفاده کنید. زیرا علاوه بر رایگان بودن این نرم افزار، کار کردن با این نرم افزار نسبت به Codevision ساده تر است.

پایان.

4.7 (22 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

15 نظر

  1. حالا من یک چیزی میگم که شاید جالب باشه
    من در کودکی با بیسیک کمودو ۶۴ کار میکردم ، و سال ۷۴ که هیچ منبعی نبود تونستم مثلا یک دایره بکشم تو ۱۲-۱۳ سالگی , بعد اصلا وارد تعمیرات شدم و رشته مدیریت و …
    سنم به ۳۷ سال رسید و برگشتم به برنامه نویسی
    در c گیج کامل بودم
    از یک المانی در یوتیوب بسکام رو دیدم و به سرعت تونستم میکرو رو برنامه ریزی کنم حدود دو هفته من یاد گرفتم
    بعد برگشتم به c و دیدم ، اهان !! ماجرا اینه ،،، و سی رو راحت یاد گرفتم :)))
    اما باور کن اگر بسکام نبود قیدش رو میزدم
    ضمنا اموشگاه هم نرفتم و الان خداروشکر با keil دارم کار میکنم

    1. سلام عزیز
      بسیار عالی، موفق باشید

  2. با سلام من بیسیک و الان با کدویژن کار میکنم ایا راحت و اسان میتوانم با اتمل استودیو کار کنم یا خیر . متشکرم از سایت خوبتون

    1. سلام عزیز
      سطح برنامه نویسی در اتمل استودیو از کدویژن و بیسیک بالاتر هست اما چون از قبل کار کردید راحت تر یاد خواهید گرفت

    2. بله میتونید ، فقط مثلا کتابخانه های کد ویژن فرض کنیدبرای ال سی دی کاراکتری از alch.h منظم تر شده و شده lcd.h که از گیت هاب باید دانلود کنید ، داستان اینه که میرید و داخل کتابخانه ادیت میکنید که مثلا از چه پایه هایی و چند بیتی میخواید ستاپ کنید و تغییر میدید کتابخانه رو . یکم سخت شاید اولش باشه اما کتابخانه های شما با طرز فکر خودتون رشد میکنه

      البته من خیلی سوادم در مقابل دوستان کمه ، در حد شاگرد پاسخ دادم

  3. بسیار ممنون از ارائه مقاله خیلی خوب تان
    در بسیار جاها میگن که در ایران وکدویژن نسبت به اتمل استوباتملدیو رواج تر وبیشتر است
    حال بنده تازه میخوام شروع کنم اتملواگهاتملودیو را انتخاب کنم به مشکل برنمی خورم؟یعنی اگه یه جا مشکل داشته باشم ویا گیر کنیم می توانم حل کنم یا نه؟

    1. سلام عزیز
      در ایران بیشتر رواج داره و کاملا اشتباه هست در خارج از کشور به زبان انگلیسی شما باید ساعت ها بگردید تا پروژه ای با کدویژن پیدا کنید چون استاندارد نیست و از اتمل استودیو استفاده میشه
      از لحاظ پشتیبانی در ایران مراجع زیادی نیستند که بخواهند در کدویژن به شما کمک کنند در آن طرف شما کافیه مشکل خودتون رو در گوگل به زبان انگلیسی سرچ کنید تا هزاران پاسخ در اتمل استودیو پیدا کنید که بسیار جامعه بهتری هست
      به همین دلایل ما دوره آموزش AVR را با اتمل استودیو اجرا کردیم میتوانید آموزش ببینید.

  4. سلام
    یه سوالی که برای من پیش اومده اینه که چرا با اتمل استادیو به زبان c پروژه های avr رو مینویسند در حالیکه زبان c++ شی گرا هستش و زبان بهتری نسبت به c هستش ؟
    اتمل استادیو هم همانطور که نوشتید میتونه زبان c++ رو ساپورت کنه

    1. سلام عزیز
      برای برنامه نویسی AVR در اتمل استودیو از هر دو زبان C و C++ استفاده میشه

    1. کامپایلر زبان های برنامه نویسی سطح بالا که به زبان انسان نزدیک هستند مثلا C رو به زبان قابل درک برای ماشین یعنی باینری تبدیل میکنه
      دیباگر هم در نرم افزار های کامپایلر موجود هست و کد رو اشکال زدایی میکنه

  5. سلام ضمن تشکروبابت قراردادن این مقاله
    یک سوال داشتم برخی از این اصطلاحاتی که توی این مقاله فرمودید برای من نامفهوم بود آیا مقاله ای هست که اون رو مطالعه کنم تا بهتر متوجه بشیم؟

    1. سلام عزیز
      هر کدام از اصطلاحات رو متوجه نشدید بگید تا راهنماییتون کنم

  6. سلاموقتتون بخیر
    سوالم اینه چرا تو آموزش میکرو arm خودتون از Atmel Studio استفاده نکردید؟؟

    1. سلام عزیز، کدام آموزش رو میفرمایید؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *