پروژه, توصیه شده, معرفی, نرم افزار های الکترونیک

چرا و چگونه از Atmel studio استفاده کنیم؟

sisoog_atmel_learn1

چرا Atmel studio:

تا قبل از آشنایی با Atmel studio از کدویژن برای برنامه‌نویسی و پیاده‌سازی پروژه با AVR استفاده می‌کردم که تا مدت‌ها نیز ادامه داشت و پروژه‌های نسبتاً بزرگی را با آن نوشتم؛ اما در یکی از پروژه‌ها با باگی مواجه شدم که باعث بروز اتفاقات جبران‌ناپذیری در اجرای پروژه شد. بعد از بررسی‌های فراوان متوجه شدم که باگ موردنظر (که در یک فرصت مناسب، در مورد آن توضیح خواهم داد) به دلیل ضعف کدویژن و یا استفاده از نسخه Crack شده آن بوده است. همین مسئله باعث شد عزم خود را جزم کرده و از کدویژن کوچ کنم. سوییچ کردن به یک کامپایلر و ویرایشگر دیگر شاید کمی زمان‌بر بود ولی مطمئناً ارزش وقت گذاشتن را داشت. بهترین گزینه از نظر من Atmel studio یا Avr studio  است که محصولی رایگان از شرکت Atmel می‌باشد و با کامپایلر اپن سورس GNU کار می‌کند.

قبلاً در سیسوگ مقایسه تخصصی کامپایلر GCC را با نرم‌افزار Codevision انجام داده‌ایم و می‌توانید جزئیات آن را در پست “کامپایلر CodevisionAVR در مقابل کامپایلر GCC و مقایسه تخصصی آن‌ها” مطالعه کنید. از مزیت‌های این برنامه رایگان بودن آن است و همچنین به دلیل اینکه توسط شرکت سازنده میکروکنترولر AVR ایجاد شده است، سازگاری کاملی با این میکرو و پردازنده‌های ARM دارد.

در این مقاله نحوه ایجاد یک پروژه ساده با استفاده از Atmel studio را آموزش خواهیم داد؛ پس با سیسوگ همراه باشید.

(فرض بر این است که شما با زبان C و برنامه Codevision آشنایی دارید.)

نصب برنامه Atmel Studio:

اولین مرحله دانلود برنامه است که با استفاده از این لینک میتوانید آخرین ورژن نرم‌افزار Atmel Studio را دانلود کنید. با انتخاب گزینه Atmel Studio 7.0 (build 1645) web installer recommended برنامه installer را دانلود می‌کنیم.

متاسفانه به دلیل تحریم‌های موجود دانلود مستقیم این نرم‌افزار در داخل کشور مقدور نیست که البته می‌توانید این نرم‌افزار را از سایت‌های داخلی نیز دانلود کنید.

با اجرای فایل نصب دانلودشده، عملیات نصب را آغاز می‌شود. در حین نصب به‌صورت خودکار عملیات دانلود atmel studio نیز انجام خواهد شد. مدت‌زمان نصب به دلیل حجم بالای برنامه کمی طولانی است که به سرعت اینترنت شما هم بستگی دارد. حجم فایل نصب حدود 900 مگابایت است.

فایل نصبی Atmel Studio

شروع کار با Atmel Studio و ایجاد برنامه جدید:

پس از کامل شدن نصب و اجرای برنامه، در صفحه شروع یا Start Page جهت ایجاد پروژه جدید گزینه new project را انتخاب می‌کنیم:

 

پنجره اصلی Atmel Studio

 

در پنجره بازشده، از ستون وسط صفحه، گزینه چهارم را انتخاب می‌کنیم. در قسمت Name نیز نام پروژه را وارد می‌کنیم. در صورت زدن تیک Create directory for solution پوشه جداگانه‌ای برای فایل‌های پروژه ایجاد می‌گردد:

 

ساخت پروژه جدید در Atmel Studio

 

با زدن دکمه OK وارد پنجره Device Selection شده و مدل میکروکنترلر موردنظر را انتخاب می‌کنیم. در این مقاله جهت سهولت کار، ما از برد آماده Arduino Nano استفاده خواهیم کرد. همان‌طور که می‌دانید برد آردوینو نانو بر پایه چیپ Atmega328p ساخته و تولید شده است. به همین دلیل ما نیز میکروکنترلر ATmega328p را انتخاب می‌کنیم. در سمت راست این صفحه دیتاشیت و پروگرامرهایی که از این مدل میکروکنترلر پشتیبانی می‌کنند را می‌توان مشاهده کرد:

 

انتخاب میکروکنترلر در Atmel Studio

 

با زدن دکمه OK پروژه ایجاد شده و وارد پنجره زیر می‌شویم:

 

منوی کامپایل در Atmel Studio

 

به بخش جذاب مقاله می‌رسیم: کدنویسی با استفاده از atmel Studio و برنامه‌ریزی میکروکنترلر با استفاده از آن.

در این برنامه قصد داریم led متصل به پایه پنجم از پورت B، که در برد آردوینو نانو پایه D13 است، هر نیم ثانیه یک‌بار چشمک بزند. این Led با حرف L بر روی برد مشخص شده است.

برد آردوینو نانو

با توجه به اینکه فرکانس نوسان‌ساز برد موردنظر 16 مگاهرتز است، باید به نحوی کامپایلر را متوجه این مهم کنیم؛ در غیر این صورت زمان‌بندی‌های ایجادشده درست و دقیق نخواهد بود. برای این کار به‌سادگی با استفاده از دستور پیش پردازنده (define F_CPU 16000000UL#) فرکانس کاری پردازنده را به کامپایلر اعلام و بعد از آن Header مربوط به ایجاد تأخیر را در خط 6 اضافه می‌کنیم. از خطوط 10 و 11 در داخل تابع main جهت تعیین ورودی یا خروجی بودن پین 5 استفاده می‌کنیم که در اینجا پایه موردنظر را به‌صورت خروجی (خط 11 برنامه) در نظر می‌گیریم. خط 10 نیز تأثیری در اجرای برنامه ندارد.

در خط 15 در داخل حلقه while، با هر بار تکرار حلقه ارزش بیت POTRB5 مخالف مقدار قبلی آن می‌شود (عملیات xor منطقی). خط 16 نیز 500 میلی‌ثانیه تأخیر ایجاد می‌کند.

با انتخاب گزینه Build Solution از منوی Build و یا با فشردن کلید F7، برنامه کامپایل شده و فایل Hex آن در پوشه Debug پروژه ایجاد می‌گردد.

پس از کامپایل در پایین صفحه در پنجره Output نتیجه کامپایل و اطلاعاتی نظیر حجم حافظه استفاده‌شده نمایش داده می‌شود. خطاها در پنجره Error List نمایش داده می‌شوند.

نمایش اتمام کامپایل در Atmel Studio

 

در صورتی‌که برای اولین بار برنامه را کامپایل کردید و پنجره زیر ظاهر شد، گزینه Simulator را انتخاب کنید:

 

پنجره نرم افزار Atmel Studio

 

نحوه پروگرام برنامه‌های نوشته‌شده با Atmel Studio با استفاده از برد Arduino Nano:

اگر تاکنون برد Nano را با کابل USB به کامپیوتر خود متصل نکرده‌اید، باید با توجه به نوع آی سی USB برد آردوینو که از دو مدل CH340 یا FT232RL  است، Driver برد را برای ویندوز خود نصب کنید.

آموزش نصب Driver برد Arduino Nano را می‌توانید در این سایت مشاهده کنید. پس از نصب Driver پروگرامر، باید این برد را به عنوان پروگرامر به Atmel Studio معرفی کنید.

در صورتی‌که برنامه Arduino قبلاً بر روی سیستم شما نصب شده باشد، باید ابتدا مسیر قرارگیری برنامه avrdude.exe را که به‌طور پیش‌فرض در پوشه C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe است را کپی کنیم.

 

انتخاب AVR Dude

 

به پنجره External Tools از منوی Tools برنامه Atmel Studio رفته و دکمه Add را جهت ایجاد پروگرامر زده و سپس در قسمت Command آدرس برنامه avrdude را قرار می‌دهیم:

تنظیم پروگرامر در Atmel Studio

 

تنظیمات avrdude در نرم افزار Atmel Studio

در قسمت Title هم یک نام برای پروگرامر وارد می‌کنیم. فایل avrdude.conf را نیز از مسیر نصب برنامه Arduino جست‌وجو کرده و پس از کپی کردن فایل، آن را در یک مسیر مشخص (مثلاً  C:\avrdude) قرار می‌دهیم و در قسمت Argument نیز پارامتر زیر را وارد می‌کنیم:

سپس کلید OK را می‌زنیم.

نحوه اضافه کردن پروگرامر به Atmel را نیز می‌توانید از پست قرار داده‌شده در سایت www.medium.com مطالعه کنید.

 

اکنون کلید F7 را جهت کامپایل برنامه می‌زنیم. با انتخاب زیر منوی Programm از منوی Tools پنجره زیر باز می‌شود:

پروگرام میکروکنترلر در Atmel Studio

با زدن کلید OK برنامه در میکروکنترولر، پروگرام می‌شود و Led روی برد نیم ثانیه یک‌بار چشمک می‌زند.

author-avatar

درباره حامد عباسیان

زمینه تخصصی فعالیتم برنامه نویسی میکروکنترلر و طراحی مدارات میکروکنترلری هست.از علایقم کارکردن در زمینه اینترنت اشیاء و سیستم های ردیابی است که در این زمینه ها در حال فعالیت هستم

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

67 دیدگاه در “چرا و چگونه از Atmel studio استفاده کنیم؟

  1. Avatar for Yousef Yousef گفت:

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

  2. Avatar for جواد جواد گفت:

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

  3. Avatar for جواد امینی جواد امینی گفت:

    درود. ای کاش از اول با اتمل شروع میکردم. کد ویژن بد عادتمون کرده .
    به دلیل مشکل اختلال وقفه ها تو کد ویژن اومدم سمت اتمل. امید وارم ارزش داشته باشه و مشکل را حل کنه. تو کد ویژن یه برنامه نوشتم و سخت افزارش را هم ساختم، ولی وقتی وقفه خارجی فعال میشه وقفه یوزارت دیگه کارش را خوب و درست انجام نمیده. گفتم شاید برا کدویژن کرک شده باشه. برا همین اومدم سمت اتمل. از همین اول هم به مشکل که اتمل ۷ رو ویندوز ۷ کار نمیکنه. مجبورم ۶ نصب کنم و……..

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

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

  4. Avatar for حامد کاظمی حامد کاظمی گفت:

    سلام .
    بنده در اتمل استودیو به مشکل چالش برانگیزی برخوردم .
    بنده یک فایل کتابخانه .h برای ماژول Nokia 5110 LCD نوشتم و قصد دارم که با تعریف یک آرایه از کد های تصویر bitmap در حافظه flash (باprogmem) اقدام به نمایش تصویر روی LCD کنم . پروژه بدون هیچ مشکلی build شد و خطایی نداشت .
    اما در شبیه سازی با Proteus با خطای invalid opcode مواجه میشم و در متن خطا دیدم که یکی از کدهای bitmap رو داره به عنوان invalid opcode در یک آدرس از flash شناسایی میکنه و مدار در عمل هم کار نمیکنه .
    کلی بهش ور رفتم و فهمیدم با حذف آرایه مشکل برطرف میشه و کتابخانه nokia5110 درست کار می‌کنه ولی چرا؟
    چطور کامپایلر کد داده و opcode رو قاطی می‌کنه ؟ راه حلش چیه ؟
    ممنون میشم راهنمایی کنید …..

  5. Avatar for Ali Ali گفت:

    عالیییییییییییییییییی
    تشکر فراوان
    از سیسوگ و تیم خوبش

  6. Avatar for فردین خانی فردین خانی گفت:

    سلام
    من یه پروگرامر usbasp دارم ، میخوام به atmel7 اضافش کنم
    ممنون میشم کسی راهنماییم کنه
    چندتا کلیپ دیدم اما آدرس هایی که دادن برای اضافه کردن با atmel نصب شده روی سیستمم هم خوانی نداره

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام متاسفانه تا اونجا که میدونم به شکل رسمی توسط این ادیتور پشتیبانی نمیشه
      ولی میتونید با استفاده از avrdude و شورت کد ازش استفاده کنید
      برای این کار آموزش زیر رو ببینید
      atmel-studio-avrdude

  7. Avatar for shkrm shkrm گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      حجم برنامه منطقیه و فکر کنم گزینه داره ولی حجم تک تک روتین ها رو تا حالا ندیدم !!!!!
      فکر کنم گزینه لاگ رو فعال کرده باشید

      1. Avatar for shkrm shkrm گفت:

        دقیقا حجم هر تابع و بلوک و حجم استراکچرها و متغییر هارو نشون میداد . اینکه چند بایتن هر کدوم . در قسمت output پایین صفحه نشون میداد . فک کنم به سیمولینکش مربوط بشه

      2. Avatar for shkrm shkrm گفت:

        سلام . پیداش کردم . این قابلیت برای اکستنشن Data size viewer هستش که امکان نمایش حجم کلیه روتین ها و متغییر هارو میده .

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          چه عالی – چکش کنم ببینم چی هست
          ممنون که اینجا به اشتراکش گذاشتید.

    2. Avatar for احسان احسان گفت:

      سلام مهندس با عرض خسته نباشی میشه از اتمل استادیو فایل هگز استخراج کرد و با پروگرامر avr بر روی میکرو مثلا attiny بریزیم .

      1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  8. Avatar for kamran kamran گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      ببینید برای برنامه نویسی که از زبان سی می تونید استفاده کنید البته سی پلاس پلاس هم خوبه ولی خوب برای شروع شاید سی دردسر کمتری داشته باشه !‌
      خوب قبلا برای برنامه نویسی توی کدویژن چطور کد می نوشتید تو اتمل استودیو هم همونه ! البته کتابخانه های که لازمه include کنید متفاوته اسمشون که اگر چند تا سمپل کد رو نگاه کنید میتونید تفاوت ها رو به خوبی متوجه بشید. اولین و بیسیک ترین چیزی که لازمه include بشه کتابخانه avr/io.h هست
      منوال کتابخانه ها رو هم میتونید از لینک زیر ببینید :
      https://www.nongnu.org/avr-libc/user-manual/modules.html

    2. Avatar for علی ترابی علی ترابی گفت:

      با سلام به کامران عزیز و کسب اجازه از جناب زئوس
      شما برای راه افتادن و پیدا کردن دید کلی نسبت به کلیات کامپایلر های gcc یه منبع فارسی هر چند دست و پا شکسته وجود دارد به این لینک : http://s3.picofile.com/file/8225875626/%D8%A2%D9%85%D9%88%D8%B2%D8%B4_AVR_GCC.pdf.html
      بعد از اون خودتون خواهید فهمید دنبال چی هستید و حتما بهتره پایه زبان c تون رو قوی کنید چون تابع gcc یا بعضی از قسمت هایش از امکاناتی بیشتری از زبان c رو استفاده می کنند. بعد از اون manual خود GCC هست که آموزش نیست چون gcc یه کامپایلر زبان c هست از همون قواد زبان c استفاده میکنه(( به علاوه تعدادی صفت (Attributes) و ویژگی های جالبی که امکان مانور دارد روی زبان c رو بیشتر به شما میده )) البته بعضی از اونها مخصوص یه معماری خاص هستند که تو راهنمای خوده gcc مشخص کرده مثلا ARM Function Attributeیا AVR Function Attribute و بعضی از اونها هم مشترک هستند یه سری کلمه ها و نوشته خاص که در زمان تعریف یک متغیر یا تابع کنار اون می نویسد تا یک ویژگی خاصی داشته باشه .. البته گفتم به جز این صفت ها امکانات جالب دیگری هم داره
      راهنما رو می تونید از این لینک دانلود کنید:
      https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc.pdf

      1. Avatar for کامران کامران گفت:

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

  9. Avatar for حمید رضا حمید رضا گفت:

    سلام
    ممنون و سپاس بابت مطالب خوبی که همیشه در اختیار دیگران قرار میدید.
    یک سوال دارم.
    چرا در زمان ایجاد پروژه گزینه GCC C executable project را انتخاب نکردید؟ و بجاش GCC C++ executable را انتخاب کردید؟
    میشه بقیه گزینه ها را هم توضیح بدید؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام شما میتونید گزینه GCC C executable project رو انتخاب کنید با خیال راحت کد سی بنویسید من فکر میکنم شاید میخواستند کد سی پلاس پلاس بنویسند که گزینه GCC C++ executable رو انتخاب کردند.

  10. Avatar for معین معین گفت:

    سلام خسته نباشین
    من خواستم که کار با اتمل استودیو شروع کنم برای همین یه برنامه ساده نوشتم که مطمئنا اروری نداره.وقتی که کامپیال میکنم توی قسمت ارور مینویسه recipie for target ‘main.o’faild
    خیلی پرس و جو کردم و همه میگن انتی ویروستو باید غیرفعال کنی که انجام دادم و فایده ای نداشت.
    ممنون میشم اگه راه حلشو بگین

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      امم خوب داره میگه به دلیلی نتونسته فرایند کامپایل کامل بشه
      اگه لاگ کامل خروجی کامپایلر رو قرار بدید بهتر میشه نظر داد.
      ولی چیزی که عمومیت داره اینه که نام کاربریتون یا فاصله توش هست یا کارکتر هایی مثل & – اینا برای تولز های لینوکسی (GCC ) چیز معمولی نیست و ممکنه خطا ایجاد کنه

      1. Avatar for معین معین گفت:

        خیلی ممنون ولی نتونستم درستش کنم
        http://s7.picofile.com/file/8392367984/Screenshot_88_.png این عکسشه ممنون میشم اگه یه نگاهی بهش بندازین

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          سلام تابع main رو به شکل زیر بنویسید ببنید درست میشه

          int main(void)

          1. Avatar for معین معین گفت:

            سلام.اون کارم کردم درست نشد
            بغیر از atmel studio و codevision برنامه دیگه ای هست پیشنهاد کنین؟

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            سلام کدویژن رو که اصلا پیشنهاد نمیکنم
            ولی همین اتمل استودیو خوبه – راحته – یه سوال شما روال ساخت پروژه رو مطابق همین آموزش رفتید جلو ؟ نرم افزارتون ورژن چنده ؟

          3. Avatar for معین معین گفت:

            بله مطابق همین آموزش رفتم جلو.ورژن هفته

          4. Avatar for زئوس Zeus زئوس Zeus گفت:

            فروم زیر رو ببینید این دوستمون هم همین مشکل رو داشته
            https://www.avrfreaks.net/forum/recipe-target-maino-failed-atmel-studio-7

          5. Avatar for معین معین گفت:

            خیلی ممنون

      2. Avatar for معین معین گفت:

        سلام.ببخشید دوباره وقتتون میگیرم
        وقتی روی ارور کلیک میکنم میره روی این متنی که توی این لینک گذاشتم https://pastecode.xyz/view/2b4dcdbe
        خیلی ممنون میشم اگه نگاهی بهش بندازن

  11. Avatar for احسان احسان گفت:

    سلام خسته نباشید از اون جایی ک مییشه با اتمل استودیو اسکچ اردوینو نوشت راهی وجود داره با این IDE ماژول ESP8266 رو هم نوشت؟؟؟؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      من از اتمل استودیو به خاطر سنگین بودنش (منظور حجم زیاد و مصرف زیاد منابع است) استفاده نمیکنم! اما اگر بخواید ازش برای esp استفاده کنید بر میگیرده به این که پروژه های مبتنی بر makefile رو پشتیبانی میکنه یا نه !!!!

  12. Avatar for علی علی گفت:

    با سلام
    من به یک مشکل برخوردم وقتی وارد قسمت tools می شم چیزی برای شبیه سازی نمایش نمی ده و پاینش نوشته
    Unsupported tool/device combination همچنین وقتی دکمه debug رو می زنم میگه backend agent not running (no tools available)

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      شما میخواید چیزی رو دیباگ کنید ؟ آیا پروگرامرتون قابلیت دیباگ داره ؟ آیا از طریق رابطی که دیباگ رو پشتیبانی میکنه پروگرامر رو به میکرو متصل کرده اید ؟

      1. Avatar for علی ترابی علی ترابی گفت:

        نه از قسمت simulator استفاده می کردم آخرین نسخه رو نصب کردم فعلا دیگه اینطوری نشده.

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          جالبه- من خودم کار نمیکنم با این نرم افزار – برای همین هم دیدی بهش نداشتم – تا قبل از اخرین نسخه از چه ورژنی استفاده می کردید ؟

          1. Avatar for علی ترابی علی ترابی گفت:

            تفاوتش تو 7.0xxxx
            بود یعنی تقریبا همون بیلد نامبرش
            از وقتی از codevision فرار کردم رفتم سراغ atmel studio با این مقاله شما در مورد eclipse و vscode رفتم سراغش ولی eclipse تقریبا اون جوری که انتظار داشتم سرعت نداشت و vs code هم یه جوری بود انگار تو دل یه چیزه دیگه باید برای avr برنامه بنویسی تازه کلی جونم سر نصب ioplatfome در اومد (موقع نصب گفت io core نصب نمیشه باید دستی نصبش کنید).
            در کل خوبی atmel studio اینکه با اینکه خیلی سنگین و پر حجم هست ولی وقتی که میاد بالا دیگه هنگ نمیکنه و تقریبا خوبه و ضمن اینکه دیباگر شبیه سازش خیلی عالی من بیشتر از همینش خوشم میاد در کل برای من عالی
            راستی شما خودتون لینوکسی هستید مثل اینکه؟ و سوال برای Avr و خانواده های armاز چی استفده می کنید؟

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            همین تفاوت های جزیی کار دست آدم میده – ممنون برای این که اینجا به اشتراک گذاشتید
            بله من لینوکس کار میکنم و توی لینوکس ایکیپس خیلی خوب کار میکنه توی ویندوز یه مقداری برنامه های جاوا بیس بد اجرا میشن ! شاید دلیل کندیش همین باشه
            منتوی لینوکس از gcc و ایکییپس استفاده میکنم برای تمام پلتفرم ها avr,arm,xtensa,x86,x64 – همه رو همین دو تا ابزار جواب میده و کفایت بوده تا الان
            دیباگرش خوبه خوبه واقعا انصافا بخوایم نگاه کنیم ولی خوب ابزار های متن بازی هستن که با ترکیبشون میشه به چیز قابل قبولی رسید.

  13. Avatar for elec110 elec110 گفت:

    باتشکر از مطالبتون
    بنظر مثل من وقت برا اتمل استادیو تلف نکنید چون دوره avr رو به پایانه .
    برای avr مستقیم برید سراغ اردوینو اینقدر کامل شده که دیگه نیازی به کامپایلر دیگه ای نباشه .
    همچنین برای arm هم برید سراغ stm32 که با اردوینو هم میشه باهاش کار کرد.
    البته stm32 چون جدیده ارزش وقت گذاشتن روی stm32cubeide رو داره .

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز – چرا فکر میکنید دوره AVR تمامه ؟ ، میکروکنترلر PIC که خیلی قدیمی تر هست هنوز به شکل گسترده در حال استفاده است چه برسه به AVR 😐
      البته موافقم با شما که کار کردن avrstudio وقت تلف کردن هست تا وقتی که eclipse وجود داره 🙂

      1. Avatar for amir amir گفت:

        سلام
        چرا وقت تلف کردن؟
        اکلیپس چه مزیت هایی داره که اتمل استدیو نداره؟

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  14. Avatar for امیرحسن امیرحسن گفت:

    سلام من تمام اقدامات بالارو به ترتیب انجام دادم ولی وقتی روی اسم پروگرامر میزنم همون تصویری که شما گذاشتین میاد ولی بعد از زدن ok هیچ اتفاقی نمیافته؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام توی این مقاله از AVRDUDE برای پروگرام کردن میکرو استفاده شده ؛
      اگه ممکنه دستوراتی که رو برای اضافه کردن پروگرامر به اتمل استودیو استفاده میکنید اینجا کامنت کنید تا بشه دقیق تر نظر داد. (منظور همون خط تنظیمات و محل فایل avrdude است)

      1. Avatar for اميرحسن اميرحسن گفت:

        سلام ممنون زئوس عزيز ازطريق يك سايت خارجي تونستم مشكلمو حل كنم.
        راستي اكثر حرفه ايا ميگن آردوينو ضعف برنامه نويسي مياره درسته؟

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          سلام
          خوشحالم که تونستید مشکل رو حل کنید
          اگه راه حل رو اینجا به اشتراک بذارید دوستانی که مشکل شما رو پیدا میکنند سریعتر به راه حل میرسند
          نه آردینو چنین کاری نمیکنه؛ واقعا این حرف خنده داره مقاله ای نوشتم و راجب آردوینو حرف زدم؛ فکر کنم اونو بخونید خالی از لطف نباشه
          آردوینو خوب، بد، زشت ! همه چیز درباره آردوینو

  15. Avatar for علی علی گفت:

    سلام و ممنون بابت مطالب خوبتون…
    آقا برا من تو راه اندازی این برنامه مشکلی پیش اومده که هر چی هم میگردم دنبال راه حلش چیز درست و حسابی پیدا نمیشع!!!
    من هر برنامه ای رو که Build میکنم این Error رو میده ….

    recipe for target ‘main.o’ failed

    هرچی هم سرچ کردم چیز معقولی به چشمم نخورد . ممنون میشم اگر بدونین قضیه این Error چیه و به من بگین …
    با تشکر

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      یه بار پوشه debug رو پاک کنید و بعد بیلد بگیرید ببیند خطا میده یا نه
      اگر داد لاگ کامل رو قرار بدید

      1. Avatar for علی علی گفت:

        داداش ممنون از پاسخ تون …
        مشکل از ویندوز بود و حل شد …

  16. Avatar for arman.khani arman.khani گفت:

    بسیار سخت و خسته کننده هستش خدا باعث و بانیش رو لعنت کنه

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      شاید اولش اینطور به نظر برسه ولی بعد خوب میشه 🙂

  17. Avatar for محمود محمود گفت:

    من خیلی دوست دارم از atmel studio استفاده کنم ولی هر چی می گردم منبع کاملی به زبان فارسی برای یاد گیری آن وجود نداره… همه در همین حد است.

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  18. Avatar for کمیل کمیل گفت:

    سلام و ممنون بابت سایت و زحماتتون برای ارتقای دانش ایران عزیز
    اما یک پیشنهاد: می‌تونید توی مطلبتون برای دور زدن تحریم‌ها لینک سایت https://shecan.ir رو هم قرار بدید که کاربراتون راحت بتونن از سایت‌هایی که مارو تحریم کردن استفاده کنن.
    ممنون

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  19. Avatar for V V گفت:

    atmel studio یکسری مزایا مث هوشمند بودن در کد نویسی و اصلاح و دیباگ داره(به خاطر استفاده از visual studio)
    ولی یکسری معایب هم هنگام کامپایل داره که مثلا من یکجا ازPORTB استفاده کرده بودم ولی در ابتدا DDRB نزده بودم که در کدویژن اررور میده ومشخص میشه ولی اتمل استدیو اینطور نیست و خیلی وقتمو گرفت این مسئله کوچیک

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      کدویژن رو نمیدونم ایا چنین چیزی رو خطا میده یا نه ولی فکر نکنم خطا بده چون فرض کنید شما بخواید پایه ای رو پول آپ کنید وقتی ورودی هست ! اون موقع که خطا میده ؟
      ولی جالبه موضوع – تست میکنم

  20. Avatar for v v گفت:

    سلام
    واقعا خوبید
    آموزش اتمل استدیو باز هم ادامه بدید
    راستی Argument مشکل داشت
    من اینو جایگزین کردم و شماره پورت هم باید برا هر سیستمی باید ببینید چنده و عوض بشه
    -C “C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf” -p atmega328p -c arduino -P COM4 -b 115200 -U flash:w:”$(ProjectDir)Debug\$(TargetName).hex”:i

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      بله درسته حق با شماست ، پورت کام برای هر سیسمتی باید با توجه به پورت بورد تغییر کنه !
      فکر میکنم مدل برد شما nano نباشه ، یا این که برد رو جدیدا تهیه کردید ، چون باوود رو 115200 گذاشتید.

  21. Avatar for سعید سعید گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      خواهش میکنم دوست عزیز ؛ بله همیشه متن باز خوبه 🙂
      البته بله قبول دارم که iar ظاهرا راندمان بالاتری داره ولی کافیه به قیمتش هم توجه کنید ؛ اما خوب انشالله توی برنامه میذاریم که تست از راندمان کد خروجی هم توی GCC و هم IAR داشته باشیم.
      جاهایی که زمان بندی خیلی مهم باشه توابع رو با اسمبلی مینویسم ؛ اینطوری کنترل بهتری روی اجرای کد خواهیم داشت و زمان رو بهتر مدیریت خواهیم کرد.

  22. Avatar for Ali Ali گفت:

    سلام دوست عزیز ببخشید با توجه به فروش شرکت اتمل توسط مایکروچیپ آیا از این کامپایلر هنوز پشتیبانی میشه و براش آپدیت میاد؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  23. Avatar for دانش دانش گفت:

    سلام
    من هم موافقم اتمل استدیو بهترین کامپایل برای avr هست

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

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

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