به نام خدایی که جان آفرید، زمین و زمان و مکان آفرید.
در مقاله “بررسی زبان، کامپایلر و محیطهای برنامه نویسی مختلف برای میکروکنترلر AVR” برخی از محیطها و زبانهای مورد استفاده برای میکروکنترلر AVR بررسی شد. در انتها یکی از پیشنهادها این بود که از یک محیط توسعه خوب، به همراه کامپایلر GCC استفاده کنید. یکی از این محیطهای برنامه نویسی بسیار قوی و در عین حال ساده، محیط ویژوال استودیو کد میباشد. این نرم افزار همچون ++Notepad برای نصب و اجرا به فضا و سیستم بسیار قوی نیاز ندارد و شما تقریباً میتوانید آن را روی هر سیستمی راه اندازی نمایید. در این مقاله، شما میآموزید که چگونه محیط این نرم افزار را برای برنامه نویسی بر روی میکروکنترلر AVR و بسیاری از برد های دیگر آماده و شروع به برنامه نویسی کنید.
با این آموزش از سیسوگ همراه باشید.
VSCODE
VSCODE مخفف عبارت Visual Studio Code (ویژوال استادیو کد) میباشد. VSCODE یک CodeEditor یا محیط ویرایشگر کد است که بهصورت رایگان از گیتهاب قابل دریافت میباشد. این کد ادیتور برای سیستم عاملهای مختلفی، از جمله ویندوز، مک و لینوکس ارائه شده است و زبانهای برنامه نویسی مختلفی از جمله پایتون، سی پلاس پلاس، جاوا و … را پشتیبانی میکند. حال، میخواهیم با افزودن کامپایلر و ابزارهای مرتبط به این ویرایشگر کد، آن را به یک IDE یا محیط یکپارچه توسعه برای AVR با زبان ++C/C تبدیل کنیم.
از ویژگی های VSCODE
- سبک بودن و اجرای روان
- کراس پلت فرم بودن – اجرا بر روی انواع مختلف سیستم عاملها
- پشتیبانی از GCC و Clang به خوبی کامپایلر ++C ماکروسافت
- ابزار های آنالیز و بررسی کد های ++C
- خطایاب و دیباگر (Debugger) اختصاصی
- پشتیبانی از گیت
- قابلیت multi-monitor به منظور مدیریت و سازماندهی بهتر
- نوآوری ها و امکانات جدید در زبانهای #C و Visual Basic
رتبه و جایگاه در میان دیگر رقبا
در تصویر زیر، همانگونه که مشاهده میکنید، پلت فرم خاصی انتخاب نشده است و مقایسه بهطور کلی میان کد ادیتور ها صورت گرفته است. نکتهای که در این تصویر وجود دارد، بالاتر بودن جایگاه ویژوال استودیو کد، حتی نسبت به ابزارهای رایگانی مثل ++Notepad و Sublime Text میباشد.
آماده سازی محیط توسعه
نصب
فرآیند نصب VS Code به سادگی دانلود فایل نصب و چند بار کلیک کردن بر روی دکمه Next صورت می پذیرد!
تبدیل VSCODE به IDE سخت افزار نویسی
اگر بخواهید از طریق افزودن کامپایلر GCC به VSCODE، آن را برای برنامه نویسی روی AVR آماده کنید، باید مراحل زیادی را طی کنید:
نصب Extension یا افزودنی ++C/C برای VSCODE
ایجاد تغییرات در فایل Json افزونه برای برنامه نویسی روی AVR
ساخت ورک اسپیس و فولدر جدید برای پروژه
افزودن و کانفیگ کامپایلر GCC به ویژوال استودیو کد
افزودن کتابخانه (لایبری) های مورد نیاز برنامه نویسی AVR به پروژه
مراحل و دردسر های ساخت make file
افزودن کامند های avrdude برای پروگرام کردن
و…
با توجه به طولانی و پیچیده بودن مراحل فوق، ممکن است برای کسانی که در مراحل اولیه برنامه نویسی هستند مشکلات زیادی را به وجود بیاورد. چه بسا شخصی فقط به خاطر ماندن در مراحل اولیه نصب، از آموختن برنامه نویسی به طور کلی پشیمان شود! اما راهکار بسیار ساده و کارآمدتری وجود دارد. این راهکار نه تنها بسیار ساده و روانتر است، بلکه حالت یک تیر و چند نشان نیز دارد. یعنی شما تنها یک بار با انجام این مراحل قادر خواهید بود تا محیط ویرایشگر ویژوال استودیو کد را نه تنها برای AVR، بلکه برای خیلی از بردهای الکترونیکی دیگر از جمله ARM و آردوینو نیز آماده سازید.
نصب افزونه PlatformIO بر روی ویژوال استودیو کد
افزونه متن باز و رایگان PlatformIO، به ویژوال استودیو این امکان را میدهد که بتوانید بهصورت یکجا ابزارهای لازم برای برنامه نویسی روی AVR،ARM، آردوینو و بسیاری از بردهای الکترونیکی دیگر را داشته باشید. قبلاً در سیسوگ مقالهای با عنوان “ویرایشگر حرفهای ویژوال استودیو کد با طعم آردوینو” منتشر شد و در آن اتصال این افزونه به ویژوال استودیو، برای ایجاد یک پروژه آردوینو آموزش داده شد. حال، در این آموزش قصد دارم تا با استفاده از همین افزونه، پروژه AVR نیز بنویسم. PlatformIO در واقع یک اکوسیستم کامل و نسل جدید برای طراحی و توسعه سیستمهای IOT (چیز نت) است. PlatformIO نزدیک به 600 دستگاه و برد IOT را پشتیانی میکند. بردهای آردینو نیز از این جمله بردها هستند.
برای نصب PlatformIO کافی ست تا مراحل زیر را انجام دهید:
گام اول – در نرم افزار VSCode (ویژوال استودیو کد) به قسمت Package Manager بروید.
گام دوم – عبارت platformio-ide را جستجو کنید.
گام سوم – بر روی کلید Install کلیک کند و منتظر شوید تا نصب پایان یابد.
گام چهارم – بهتر است محیط ویرایشگر را یک بار بسته و مجدداً باز نمایید.
اگر نصب به درستی انجام شده باشد، در نوار کناری VSCode باید آیکون PlatformIO را مطابق عکس زیر مشاهده کنید:
در این مرحله اگر آیکون PlatformIo را در Activity Bar مشاهده نکردید، احتمالاً VSCODE شما نیاز به نصب افزونههای دیگری دارد که از قبل بر روی سیستم شما وجود ندارد. اگر پیام زیر را مشاهده کردید، بر روی دکمه Install All کلیک کنید تا تمام افزونههای مورد نیاز شما نصب گردد.
بهتر است در صفحه نصب افزونه، تب Dependencies را نیز بررسی کرده و آنها را هم نصب کنید.
همچنین اگر علامتی شبیه علامت رفرش را در پایین صفحه مشاهده کردید که در حال گردش است، احتمالاً هنوز کار نصب افزونه شما به اتمام نرسیده است. در آخرین مرحله، یکبار VSCODE را بسته و مجدداً باز کنید.
ساخت اولین پروژه آردوینو با ویژوال استودیو کد
برای ساخت پروژه ابتدا به صفحه خانه (Home) در PlatfromIO بروید و بر روی کلید New Project کلیک کنید.
بعد از فشردن کلید New Project پنجرهای ظاهر میشود که لازم است نوع سخت افزار و اسم پروژه و البته فریمورک مورد استفاده را در آن مشخص کنید.
1- نامی برای پروژه خود انتخاب کنید.
> هر چند این نام گذاری دلخواه است، اما توصیه میکنم همیشه نام پروژه را با حروف کوچک و بدون فاصله وارد کنید. کاراکتر آندراسکور “_” را نیز سعی کنید تنها در میان دو کلمهای که معنی متفاوت از هم دارند بکار ببرید. برای مثال framework یک کلمه است و لازم نیست میان frame و work فاصله بیندازید.
2- برد دلخواهتان را انتخاب کنید. در این پروژه، به عنوان نمونه تراشه میکروکنترلر AVR ATmega32 انتخاب شده است.
3- چارچوب برنامه نویسی (Framework) خود را انتخاب کنید. همانطور که میبینید، در این لیست برای AVR تنها فریمورک آردوینو قابل انتخاب است. اگر شما میخواهید با زبان C برای این میکروکنترلر برنامه بنویسید، نگران نباشید. در ادامه تغییری ایجاد میکنیم تا بتوانید مستقیماً با C برای AVR کد بنویسید.
4- دکمهی پایان را فشار دهید.
حال، کمی منتظر بمانید تا محیط برنامه نویسی برای شما آماده شود:
پس از ایجاد پروژه، شما میتوانید با فریمورک آردوینو، بدون هیچ مشکلی برای تراشههای مختلف AVR مثل ATmega32 و… برنامه نویسی کنید. برای این کار تنها کافی است تا فایل main.cpp را انتخاب کرده و شروع به کد نویسی کنید. قبلاً در پست “ویرایشگر حرفهای ویژوال استودیو کد با طعم آردوینو” روش آپلود و تست برنامه آردوینو به همراه مثال عملی توضیح داده شده است.
برنامه نویسی برای AVR، بدون فریمورک آردوینو و با زبان C
از میان فایلهای پروژه، platformio.ini را برای ویرایش باز کنید. حال خطوطی که در آن framework = arduino وجود دارند را پاک کنید. به همین راحتی!
اضافه کردن پروگرامر
برای آپلود فایل هگز برنامه نوشته شده بر روی تراشه، میبایست پروگرامر را به ویژوال استودیو کد معرفی کنید. platfomIo از نرم افزار avrdude برای آپلود فایل هگز استفاده میکند. این نرم افزار بهصورت دستوری (کامند) کار میکند. برای پیکر بندی پروگرامر خود در پلت فرم آی او، تکه کد زیر را با توجه به نوع پروگرامر خود ویرایش کرده و سپس به فایل platformio.ini اضافه کنید:
1 2 3 4 5 6 7 8 | upload_protocol = usbasp ; each flag in a new line upload_flags = -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf -pm32 -Pusb -cusbasp upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i |
در نهایت فایل platformio.ini برای این پروژه، کدی شبیه به این خواهد داشت:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ;PlatformIO Project Configuration File ; ; Build options: build flags, source filter ; Upload options: custom upload port, speed and extra flags ; Library options: dependencies, extra library storages ; Advanced options: extra scripting ; ; Please visit documentation for the other options and examples ; https://docs.platformio.org/page/projectconf.html [env:ATmega32] platform = atmelavr board = ATmega32 upload_protocol = usbasp ; each flag in a new line upload_flags = -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf -pm32 -Pusb -cusbasp upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i |
اگر درایورهای پروگرامر شما با موفقیت نصب شده باشد و آن را به کامپیوتر خود متصل کنید، در مراحل بعد بدون هیچ مشکلی میتوانید برنامه خود را روی آی سی آپلود کنید!
شروع برنامه نویسی برای AVR
از آنجایی که شما میخواهید در ویژوال استودیو کد به زبان C برنامه بنویسید نه با زبان ++C، بر روی فایل main.cpp کلیک راست کرده و آن را پاک کنید. حال روی پوشه src کلیک راست کرده و فایل جدیدی به نام main.c میسازیم تا کدهایمان را درون این فایل بنویسیم.
پس از ساخت فایل main.c، آن را باز کنید تا اولین برنامه را برای AVR بنویسیم.
خوشبختانه کتابخانه (لایبری) های مورد نیاز AVR به طور پیش فرض به IDE ما اضافه شدهاند و شما دیگر لازم نیست آنها را اضافه کنید!
هورااا! یک مرحله جلو افتادیم! 🙂
کد زیر را به عنوان نمونه درون فایل main.c کپی کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <avr/io.h> #include <util/delay.h> int main() { DDRA = DDRB = DDRC = DDRD = 0xff; PORTA = PORTB = PORTC = PORTD = 0x00; while (1) { _delay_ms(500); PORTA ^= (1 << 1); _delay_ms(500); } } |
به وسیله دکمههای زیر، میتوانید برنامه خود را تست و یا بر روی تراشه بارگذاری کنید!
در ضمن کد خروجی شما توسط کامپایلر استاندارد و متن باز GCC تولید شده است که در مقایسه با کدویژن، از لحاظ بهبود و کارایی بسیار قویتر عمل میکند!
سلام.
ممنون برای مقاله آموزنده تون
یه سوال
من مراحل بالا را مو به مو انجام دادم . هدف: output کردن PA.2 در atmega8. ولی کلا به DDR و PORT و delay_ms() خطا میگیره . مشکل از چی میتونه باشه ؟
فکر کنم برای این که بتونیم کمک کنیم لازمه متن خطا رو اینجا بذارید 🙂
باسلام
ممنون برای مقالات آموزنده .
اگر امکان داره ، فایل pdf مقالات را هم برای دانلود در انتها قرار بدین .
با تشکر
ممنونم دوست عزیز
بررسی میکنم این پشنهاد رو
با سلام
یک دفعه اومدم به جای atmel studio ادامه برنامه رو توی vs code با platformio بنویسم به یک مشکل برخورد کردم دقیقا همون برنامه توی atmel studio جواب میده ولی تو vs code یه کم مشکل داره فکر کنم مشکل از فلگ های avr-gcc باشه من makefile که خود atmel studio رو درست کرده با فایلی که مال platform io هست رو براتون تو لینک گذاشتم اگر مشیه یه نگاه بکنید راستی ورژن gcc دوتا شون یکی چون خودم مال atmel رو کپی کردم جای platform io
اینم لینک فایل ها
https://drive.google.com/open?id=1KyUQcyAC_RPmGeQA3mGskmcCCPhUjSBG
خوب از اینا نمیشه گفت چرا – توی پلتفرم io موقع کامپایل چه خطایی دریافت میکنید
ای کاش خطایی که میداد رو قرار میدادید – اینطور بهتر میشه به نتیجه رسید
مشکل اینجاست که هیچ خطایی نمیده و کامل کامپایل میکنه ولی فایل hex خروجی تو اجرا روی میکرو درست کار نمیکنه
جالب اینجاست دقیقا برنامه رو کپی پست کردم و هیچ تغیری ندادم ولی تو خروجی اتمل کار میکنه خروجی platformio کار نمیکنه
جاب تری اینکه حجم فایل نهایی تو هر دوتا دقیقا برابره !!
راستی یک سوال دیگه هم داشتم اینکه فایل های COF خروجی codevosion توی دیباگ پروتئوس به درستی اجرا می شد و می شد خط به خط اجراش کرد ولی فایل elf خروجی gcc بعضی وقتا توی پروتئوس تمام خطوط رو اجرا نمی کنه علت چه می تونه باشه؟
فکر میکنم ضعف پروتئوس باشه – چون با استفاده از فایل های elf دیباگرها کار میکنند اگر مشکلی وجود داشته باشه دیباگرها قادر به کارکردن نیستند – گمان میکنم حتی اتمل استودیو هم از همین فایل برای شبیه سازی میکروکنترلر استفاده میکنه
نمیدونم الان مشکلتون رو حل کردید ؟ یا نه ؟
امان از این پروتئوس یک دفعه درست کار میکنه یک دفعه نه مشکل از پروتئوس بود تو عمل درسته.
یادم میآد اون اوایل که اومده بود این لامصب پروتئوس – میخواستم ال سی دی کارکتری رو باهاش راه بندازم
دو روز کامل سر کار بودم تا عملی تست کردم دیدم کدم درسته ! از اون پس دیگه هیچ وقت بهش اعتماد نکردم 😐
با سلام البته تغییر فگ avr-gcc بی تاثیر نبود من که فعلا از کاربرد همه این فلگ سر در نمیارم خوب ولی log اتمل استدیو موقع build کردن و حتی editor خود Proteus که به avr-gcc وصل میشه یک سری فلگ ها موقع build داشت که برنامه با اونا درست کار میکرد خوب من این فلگ ها رو با فلک های پیشفرض platform io که در این آدرس هست عوض کردم.
“C:\Users\(username)\.platformio\platforms\atmelavr\builder\frameworks\_bare.py”
تغیرات هم درون این عکس گزاشتم اگر ممکن بود در مورد این فلگ ها یک توضیحی مختصری به من بدهید.
لینک
http://s12.picofile.com/file/8398175500/1.jpg
خوب کارکرد فلگ ها رو با یه جستجوی ساده می تونید پیدا کنید.
مثلا -gdwarf-2 یه فرمت خاض برای تولید محتوای دیباگ کد هست بیشتر برای دیباگ کردن برنامه کاربرد داره.
signed-char به کمپایلر میگه به صورت پیش فرض متغییر char از نوع با علامت باشه
اون دوتای آخری رو نمیدونم برای چی هست.
راستی ببخشد یک سوال دیگه هم داشتم شما debugger رو برای avr سراغ دارید که jtag باشه و نقشه و مدار در اینترنت باشه که بتونم خودم بسازم و با Atmel studio 7هم سازگار باشه چون من که گشتم یکی بود که با atmga16 و پورت سریال اسمش هم بود jtag-ice ولی فکر کنم تو نسخه های جدید پیشتیبانی نمیشه از طرفی آماده debugger برای avr هم وجود نداره. اگر هم باشه نسخه ها ی اصل است که خیلی گرونه.
با تشکر
فکر کنم همون jtag ice کار کنه !!!
تا حالا نشده که avr رو دیباگ کنم برای همین زیاد دنبالش نبودم .
سلام
من از VSC برای کد نویسی در ESP8266 استفاده میکنم
یک سوال : چگونه میشود کاری کرد که کنابخانه ها هم در پوشه پروژه ذخیره بشه تا در آینده بشه از اونها استفاده کرد؟
و سوال دیگه اینه که موقع اضافه کردن کتابخانه ، تنظیمات خاصی باید انجام بشه؟
با سلام vscode خیلی سبک و روان هست ولی اصلی ترین مشکلش اینکه سری avr رو به جز تعداد محدودی که اونم atmega های معمول نیست اصلا دیباگ نمیکنه..
جناب زئوس لطفا یک آموزش راه اندازی eclipse برای avr بزارید فقط همین سوال رو جواب بدید که شما آیا از افزونه avr برای eclipseکه سال هاست بروز نشده یا نه شیوه دیگری برای برنامه نویسی برای avr دارید.
جدیدا دارم به یک مشکلی برخورد می کنم چرا بعضی وقت ها با اینکه هیچ ارور و و خطایی وجود نداره و avr-gcc به کلی یک تابع رو کامپایل نمی کنه یا بخشی رو بیخیال میشه؟ الآن مشکل این تابع چیه که به هیچ دلیلی اصلا کاماپل نمیشه؟
uint8_t bcdbin(uint8_t bcd)
{
uint8_t bcda,bcdb;
bcda=bcdb=bcd;
bcdb=(bcdb&15);
bcda=(10*(bcda>>4));
return (bcda+bcdb);
}
به نظر قضیه اینکه کامپایلر خودش بهینه میکنه چون وقطه بهینه سازی رو گزاشتم رو none -O0درست شد ولی حجم کد خیلی زیاد شد به طوری که از 6Kbyte رسید به 12Kbyteچون من هنوز کامل مسلط نیستم آیا چیزی وجود دارد که با نوشتم اون کامپایلر از بهینه سازی این بخش صرف نظر کنه.؟
مشکل حل شد ولی اگه می شد یه قابلیتی میزاشتید تا پیام هایی که هنوز تایید نشده اند رو بشه ویرایش کرد یا حذف کرد.
ولی مشکل شبیه ساز eclipse برای avr gcc همچنان باقی است.
با تشکر
شبیه سازی واقعا دردسرش تو ایکلیپس نسیت به آتمل استودیو خیلی زیاده
خوشحالم که پیگیر هستید و مشکلات رو خودتون دارید حل میکنید اینا میشه تجربه و واقعا کاری در الکترونیک باید کرد همینه
پشتکار
فلگ -Os رو که اظافه کنی حجم خروجی کم میشه و برای سایز اپتیمایز میشه
خطا رو ببینید چه خطایی میده
توضیحات مرویط به کامپایل نشدن رو توی خطا گزارش میکنه
سلام – من خودم توی vs کد از افزونه platfom io استفاده میکنم و مشلی باهاش ندارم
و اما در مورد کار کردن با eclipse همونطور که اشاره کردید یک راهش استفاده از پلاگین دوره پارینه سنگیه که فکر میکنم با ورژن های جدید eclipse مشکل هم داشته باشه و
اما راه دوم استفاده از پروژه های مبتنی بر makefile هستش
سلام من میخوام توی vs code با زبان c برنامه بنویسیم ولی خروجی نمیگیرم برای مثال مینویسیم #include
int main()
{
int a , b ,c ;
printf(“please inter an integer :\n”);
scanf(“%d”,a);
printf(“please inter another integer:\n”);
scanf(“%d”,b);
c = a+b;
printf(“%d + %d = %d “,a ,b ,c);
return 0;
}
خروجی به من یک چیز دیگه میده
چیزی که باید مشخص بشه اینه که برای چه پلتفرمی کد رو کامپایل میکنید برای کامپیوتر یا avr یا چی ؟
چون احتمالا اگر avr مدنظرتون باشه برای خروجی و ورودی printf,scanf باید فانکشن های استریمر رو مشخص کنید.
برای کامپیوتر برای مثال تو code blocks این برنامه رو run میکردم یک پنچره باز میشد که عدد رو وارد میکردیم ولی الان توی vs code نمیشه این کارو کرد
خوب توی vs کد شما تنها میتونی ادیت کنی – البته فکر میکنم پلاگین هایی باشن که قابلیت کامپایل کد رو هم بهش میده 🙂
مثلا برای همین avr ما از platform io استفاده کردیم.
با سلام
برای تغییر فیوزبیت ها چیکار باید بکنیم؟
سلام دوست عزیز
برای نوشتن فیوز بیت ها یک راه اینه که از نرم افزار دیگه ای استفاده کنید که فیوز بیت ها رو راحت بتونید تغییر بدید
و یک راه دیگه استفاده از کلید های مربوط به برنامه ریزی پلتفرم هست که توی داکیومنت هاش میتونید مطالعه کنید.
سلام چه جوری میشه از این برنامه فایل hex گرفت؟
سلام – لینک زیر رو مطالعه کنید
https://community.platformio.org/t/where-to-find-a-bin-file/9496/9
بی نظیرید واقعا …
من درحال سوئیچ کردن برروی لینوکس اوبنتو هستم ..
ولی امروز بسیار بااین نرم افزار در ویندوز10 درگیر شدم سرنصب کردن opencv cppکه درنهایت هم موفق نشدم خواهشمندم اگر مقدوره نحوه نصب این کتابخونه رو هم اموزش بدید چون پایتون ازسرعت لازم برا کارهای منو نداره ممنونم (کتابخونهopencv pythonبه راحتی نصب شده و دارم استفاده میکنم)
دوستان برای اجرای کد های سی لازمه که افزونه codeRunnerرو هم نصب کنند..
به نظر من این بهتر از اکلیپس هسش چون اکلیپس برپایه جاوا نوشته شده و یخورده به منابع بیشتری نیاز داره
درود برشما. خیلی ممنون از تجربیاتتون. لینک زیر میتونه به شما در نصب openCV روی VSCODE کمک کنه:
https://stackoverflow.com/questions/51564772/how-to-use-the-opencv-c-with-vscode
مهندس یک کلیپ چینی موجوده که مشکل نصب کردن opencv cpp با ویژوال استودیو کد رو حل کرده اما من طبق همون پیش رفتم به مشکلاتی خوردم (در فایلcmake وغیره) که لینک اونو براتون میفرستم
https://webnautes.tistory.com/1344
من opencv cpp رو تا به حال برای VSCODE نصب نکرده ام.
سلام
این نرم افزار خودش کتابخونه هایی برای قطعاتی مثل lcd و… نداره؟
خیر باید از کتابخانه های فروان موجود در سطح اینترنت استفاده کنید
منطقیشم همینه 🙂
سلام و خدا قوت
من می خوام پروگرمر هاتل رو اضافه کنم باید چه نوع پروگرمری رو انتخاب کنم؟ اگه نکات دیگه ای برای کار با پروگرمر هاتل و vs code وجود داره ممنون میشم.
سلام دوست عزیز تا اونجا که اطلاع دارم هاتل از پروتکل usbasp استفاده میکنه و میتونید بگید این پروگرامر به سیستم وصل شده.
به نام خدا
با سلام
مــثال برنامه را کپی و سپس کامپایل کردم برای رفع خطای برنامه چه کارکنم.
1- ” cannot open source file “util/delay.h
2- ” cannot open source file “avr/io.h
در ضمن
تنظیمات پروژه به این صورت می باشد
[env:MIGHTYCORE32]
platform = atmelavr
board = MIGHTYCORE32
سلام.
افزونه به درستی نصب نشده. اگر میتونید پاکش کنید و VSCODE رو مجددا راه اندازی کنید. در صفحه نصب platformIo، قبل از نصب کردن تب Dependences رو باز کنید و پیش نیاز هاش رو هم نصب کنید. موقع نصب، اگر پایین صفحه علامت رفرش رو مشاهده کردید که در حال گردش هست، صبر کنید تا پلت فرم آی او بصورت کامل نصب شود.
یا من اسم هو دواء و ذکر هو شفاء
سلام جمیعا
سیستم را خاموش و فردای آن روز( چهارشنبه )که روشن کردم اول وای فای سیستم را روشن و
سپس برنامه vs code را باز کردم .
برنامه خودکار شروع به اپدیت کردن فایل خود نمود. و پیغام ریستارت داد.
سپس نمونه کد avr را مجدد کامپایل کردم. و هیچگونه خطایی مشاهده نشد. برای اطمینان با برنامه پروتئوس تست شد که کار کرد.
با تشکر.
موفق باشید
سلام.
خیلی ممنون که تجربیاتتون رو بیان کردید.
سلام شماره پورت سریالی که پروگرامر بهش وصله رو از کجا بیارم؟ ممنون
خیلی ساده است اگر از ویندوز استفاده میکنید توی دیوایس منیجر ببینید وقتی پروگرامر رو وصل میکنید چه دستگاه جدیدی اظافه میشه همون میشه پورت پروگرامر
لینوکس هم که دوستان لینوکسی خودشون میتونن مشکل رو حل کنند.
سلام
ممنون
یه مقایسه ای هم با اتمل استدیو بشه بد نیست
اتمل استودیو که یه فاجعه تمام عیاره 😐
کیفیت کد خروجی با این روش فرقی نداره چون هر دو از gcc برای کامپایل کد استفاده می کنند ولی ادیتور اتمل استودیو بسیار سینگینه و حجم خیلی زیادی و میگیره و نیاز به سیستم قوی داره واقعا :/
اما این ویرایشگر واقعا سبکه و لایت هست