برنامه‌نویسی میکروکنترلر AVR در محیط ویژوال استودیو (جلسه سوم)

برنامه‌نویسی میکروکنترلر AVR در محیط ویژوال استودیو (جلسه سوم)

برنامه‌نویسی میکروکنترلر AVR در محیط ویژوال استودیو (جلسه سوم)
برنامه‌نویسی میکروکنترلر AVR در محیط ویژوال استودیو (جلسه سوم)

سیسوگ در جلسه دوم شما را با ویژوال استودیو بیشتر آشنا کرد. این جلسه از برنامه‌نویسی میکروکنترلر AVR بیشتر مناسب دوستانی هست که مایل هستن به جای استفاده از embedded project wizard موجود در visualGDB، از یک میک فایل مجزا استفاده کنند. در این صورت مراحل ایجاد پروژه به صورت زیر تغییر می‌کند:

در محیط ویژوال استودیو، پروژه‌ی جدیدی را ایجاد کنید. به صورت زیر:

 

سپس  با کلیک  روی ++visual C با انتخاب makefile project پروژه میک فایل را ایجاد کنید.

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

Ok کنید و در صفحه باز شده next را انتخاب کنید.

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

 

کانفیگ پروژه میک فایل از طریق ویزارد:

برای وارد شدن به اولین صفحه‌ی ویزارد، next را انتخاب و چند کادر موجود در صفحه‌ی جدید را به صورت زیر پر کنید:

کانفیگ پروژه میک فایل از طریق ویزارد

در کادر output، نام فایل اجرایی (exe.)  خروجی را به نام پروژه‌تان با فرمت هگز (hex.)  تغییر دهید. در کادر include search نام دایرکتوری (پوشه) که winavr را دربر دارد بنویسید. برای من به صورت زیر هست:

در صفحه بعد چک باکس را انتخاب کنید تا پیکره‌بندی release مشابه debug ایجاد شود. در نهایت روی finish کلیک کنید.

 

پیکره‌بندی پروژه میک فایل:

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

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

از زیر کرکره  general runtime ،common language را انتخاب و گزینه common language runtime support انتخاب کنید. این گزینه باعث پشتیبانی از قابلیت intellisence می‌شود.

پشتیبانی از قابلیت intellisence

در مرحله ی بعد روی NMake کلیک کنید و مطمئن شوید مقادیری که برای make build command output hex file و include search path وجود دارد، اضافه شده باشد.

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

ساختن و اضافه کردن میک فایل:

میک فایلتان را ایجاد و در پوشه‌ای که هم‌نام با دایرکتوری پروژه است کپی کنید. برای نمونه ساختار دایرکتوری پروژه‌تان شبیه:

خواهد بود. چنانچه محلی که باید میک فایل را کپی کنید مبهم بود، می‌توانید یک سورس فایل سی پلاس پلاس (main.cpp)  ایجاد کنید و محلی که این فایل اضافه شده را ببینید. در نهایت میک فایل را در آنجا کپی کنید.

نرم افزار ویژوال استودیو را باز کنید. در پنجره explorer  solution، روی تب resource files کلیک راست کنید و با انتخاب add و exiting item، به دایرکتوری پروژه رفته و میک فایل را به آن اضافه کنید. در نهایت می‌بایست میک فایل به تب resource files اضافه شده باشد. سپس در حالی‌که میک فایل را انتخاب کردید به تب propertice (واقع در پایین صفحه) رفته و type را از document به Makefile تغییر دهید.

پس از نوشتن برنامه در main.c، از طریق یکی از دو گزینه‌ی Build -> Build Solution یا کلید میانبر F6، آن‌ را کامپایل کنید. سپس فایل هگز ایجاد شده را به وسیله AVRDUDE (موجود در پکیج winavr) روی میکروکنترلر یا برد آردوینو پروگرام کنید.

 

منابع:

1) انجمن های برق فارسی و انگلیسی

2) www.instructables.com

حمایت از Hosein Mohammadi

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

8 دیدگاه

  • ali mazafari nia
    ۲۵ خرداد ۱۳۹۸

    میشه لطفا فایل میک فایل برای من ارسال کنید شاید مشکل از میک فایل باشه من هرجا گشتم میک فایلی برای AVR یا ARDUINO پیدا نکردم

  • ali mozafari nia
    ۲۵ خرداد ۱۳۹۸

    با سلام و خسته نباید خدمت شما .
    من تمام مراحلی را که گفتید انجام دادم ولی به یه مشکل برخوردم
    وقتی روی گزینه ی biuld میزدم خطایی در MSBiuld رخ میداد و وقتی که پلتفرم پروژه رو به *64 تغییر دادم دیگه خطا نمیگرفت . منتهی مشکل اینجاست که اصلا فایل هگزی با اینکه میک فایل و main.cpp اضافه کردم، ساخته نمیشه . من با این پروژه کا ر واجب دارم و ممنون میشم اگه کمکم کنید.

    • Zeus ‌
      زئوس Zeus
      ۲۶ خرداد ۱۳۹۸

      سلام دوست عزیز ؛ متن خطا رو بگذارید تا بشه در موردش نظر داد.

      • ali mozafari nia
        ۲۶ خرداد ۱۳۹۸

        MSB3073 the command “make” exited with code 2. source Microsoft.makefile.targets

        این ارور رو میده لطفا کمک کنید

        • Zeus ‌
          زئوس Zeus
          ۲۷ خرداد ۱۳۹۸

          خطای مربوطه احتمالا مربوط به پیدا نکردن فایل makefile میشه !
          چه makefile رو به پروژه اضافه کردید ؛ پروژه رو چطور ایجاد کردید ؟

  • مسلم حسینی
    ۲۲ آذر ۱۳۹۷

    ممنون از لطف شما مطالب را خوب توضیح میدهید متشکرم

    • Zeus ‌
      زئوس Zeus
      ۲۳ آذر ۱۳۹۷

      خواهش میکنم دوست عزیز

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

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

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 11 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

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

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

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

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک