AVR Programlama İlk Kod -Blink-

Bu yazımızda daha önce bahsettiğimiz ve bu seride kullanacağımız donanım ve yazılımların sorunsuz çalışıp çalışmadığını test etmek için bir ledi yakıp söndüreceğiz.

Bu uygulama çok basit ve gereksiz gibi görünüyor olsada aslında durum öyle değil. AVR Programlama serisinde bir Avr Çipi’ni genellikle register seviyesinde programlayacağımız için temelden giderek her şeyi anlamamız gerekiyor. İleriki yazılarda da göreceğimiz üzere bir ledi yakmak için yazacağımız kod ile bir sensörden veri okumak için yazacağımız kodlar aynı temeller üzerine kurulu sadece kullandığımız çevre birimleri ve bu çevre birimlerinin registerları değişecek. Hepimizin daha önceden duyduğu gibi bilgisayarlar 0 ve 1 lerden oluşuyor. Mikrodenetleyiciler de bir bilgisayardır diyebiliriz. Yapacağımız en temel şey registerların bitlerine 0 lar ve 1 ler yazmak olacak. 🙂

define F_CPU 16000000UL  // CPU çalışma frekansı belirtildi
include <avr/io.h>
include <util/delay.h> // delay fonksiyonunu içeren kütüphane


int main(void)
{

DDRB |= (1<<1); // B portunun 1 numaralı pinini dijital çıkış olarak tanımlandı


while (1)
{
PORTB |= (1<<1); // PB1 pinine lojik 1 değeri gönderildi
_delay_ms(1000); // 1 saniye bekleme
PORTB &= ~(1<<1); // PB1 pinine lojik 0 değeri gönderildi
_delay_ms(1000); // 1 saniye bekleme
}
}
Bağlantılar
Blink uygulaması

Bir sonraki yazımızda GPIO çevre biriminin registarlarını inceleyeceğiz.

Not: Register kelimesinin türkçe karşılığı olarak ‘Yazmaç’ kullanılmaktadır. Fakat alışkanlıktan dolayı ben ‘Register’ demeyi tercih etmekteyim.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s