شروع کار با Atmel Studio و ایجاد برنامه جدید:
در صفحه شروع یا Start Page جهت ایجاد پروژه جدید گزینه new project را انتخاب میکنیم:
در پنجره بازشده، از ستون وسط صفحه، گزینه چهارم را انتخاب میکنیم. در قسمت Name نیز نام پروژه را وارد میکنیم. در صورت زدن تیک Create directory for solution پوشه جداگانهای برای فایلهای پروژه ایجاد میگردد:
با زدن دکمه OK وارد پنجره Device Selection شده و مدل میکروکنترلر موردنظر را انتخاب میکنیم. در این مقاله جهت سهولت کار، ما از برد آماده Arduino Nano استفاده خواهیم کرد. همانطور که میدانید برد آردوینو نانو بر پایه چیپ Atmega328p ساخته و تولید شده است. به همین دلیل ما نیز میکروکنترلر ATmega328p را انتخاب میکنیم. در سمت راست این صفحه دیتاشیت و پروگرامرهایی که از این مدل میکروکنترلر پشتیبانی میکنند را میتوان مشاهده کرد:
در این برنامه قصد داریم led متصل به پایه پنجم از پورت B، که در برد آردوینو نانو پایه D13 است، هر نیم ثانیه یکبار چشمک بزند. این Led با حرف L بر روی برد مشخص شده است.
با توجه به اینکه فرکانس نوسانساز برد موردنظر 16 مگاهرتز است، باید به نحوی کامپایلر را متوجه این مهم کنیم؛ در غیر این صورت زمانبندیهای ایجادشده درست و دقیق نخواهد بود. برای این کار بهسادگی با استفاده از دستور پیش پردازنده (define F_CPU 16000000UL#) فرکانس کاری پردازنده را به کامپایلر اعلام و بعد از آن Header مربوط به ایجاد تأخیر را در خط 6 اضافه میکنیم. از خطوط 10 و 11 در داخل تابع main جهت تعیین ورودی یا خروجی بودن پین 5 استفاده میکنیم که در اینجا پایه موردنظر را بهصورت خروجی (خط 11 برنامه) در نظر میگیریم. خط 10 نیز تأثیری در اجرای برنامه ندارد. در خط 15 در داخل حلقه while، با هر بار تکرار حلقه ارزش بیت POTRB5 مخالف مقدار قبلی آن میشود (عملیات xor منطقی). خط 16 نیز 500 میلیثانیه تأخیر ایجاد میکند.
کد:
#ifndef F_CPU
#define F_CPU 16000000UL // set oscillator 16Mhz
#endif
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB &=~(1<<DDB5); //input pin ---> codevision: DDRB.5=0 or DDRB=0x00
DDRB |=(1<<DDB5); //output pin ---> codevision: DDRB.5=1 or DDRB=0x10
while (1)
{
PORTB ^= (1<<5); //toggle pin 0/1
_delay_ms(500);
}
}
با انتخاب گزینه Build Solution از منوی Build و یا با فشردن کلید F7، برنامه کامپایل شده و فایل Hex آن در پوشه Debug پروژه ایجاد میگردد. پس از کامپایل در پایین صفحه در پنجره Output نتیجه کامپایل و اطلاعاتی نظیر حجم حافظه استفادهشده نمایش داده میشود. خطاها در پنجره Error List نمایش داده میشوند.
در صورتیکه برای اولین بار برنامه را کامپایل کردید و پنجره زیر ظاهر شد، گزینه Simulator را انتخاب کنید:
بهترین جایگزین کدویژن از نظر من Atmel studio است.در سیسوگ مقایسه تخصصی کامپایلر GCC را با نرم افزار Codevision انجام دادیم و نواقص کدویژن را بررسی کردیم
sisoog.com