Bit Kaydırma(bitshifting) ile Register Bitlerinin Durumunu Değiştirmek

C ile AVR programlama yaparken bitshifting ile bazı portları açabilir ve kapatabilir. Bunun kullanılmasının sebebi sadece açmak istediğimiz port’a mudahele ederiz. Aynı registera kayıtlı diğer portların durumu aynen korunacaktır.

Bitshifting ile port açmak

DDRD pinlerimizin hepsini çıkış olarak tanımlayalım;

DDRD = 0xFF;

Daha sonra D portalarımızın PORTD3 hariç hepsini açalım;

PORTD = 0xF7;

Şimdi bitshifting ile diğer pinlerin durumunu aynen koruyarak PORTD3.portumuzuda açalım;

PORTD |= 1<<3;

Bitshifting ile port kapatmak

DDRD pinlerimizin hepsini çıkış olarak tanımlayalım;

DDRD = 0xFF;

Daha sonra D portalarımızın hepsini açalım;

PORTD = 0xFF;

Şimdi bitshifting ile diğer pinlerin durumunu aynen koruyarak PORTD3 portumuzu kapatalım;

PORTD &= ~(1<<3);

Bitshifting ile toggle nasıl yapılır

Toogle açık ise kapat, kapalı ise aç işlemine verilen isimdir. bu işlem aşağıdaki şekilde yapılmaktadır.

DDRD pinlerimizin hepsini çıkış olarak tanımlayalım;

DDRD = 0xFF;

Daha sonra D portalarımızın hepsini açalım;

PORTD = 0xFF;

Şimdi bitshifting ile diğer pinlerin durumunu aynen koruyarak PORTD3 portumuzun durumunu toggle yapalım;

PORTD ^= (1<<3);

Bu yöntemlerle diğer pinlerin durumunu olduğu gibi korurken istediğimiz pin’in açık veya kapalı durumunu değiştirebiliriz.


Bir yorum yazın


İçindekiler