All for Joomla All for Webmasters
Yapabilecekleriniz hayal gücünüz kadar geniştir.
STM
ARDUİNO
ONUR KÖSE
Kişisel Blog

STM32F103 Buton

STM32F103 geliştirme kartı ile yapacağımız ilk uygulama A15 pinine bağlı butona basılınca A0 pinindeki ledi yakan yazılımdır. Bu uygulamaya geçmeden önce mikroC GPIO komutları adlı makalemi mutlaka okuyunuz.

Denetleyicimizin iki adet 32-bit Dijital I/O veri kaydedicisi vardır. Bunlar GPIOx_IDR(Input Data) ve GPIOx_ODR(Output Data) kaydedicileridir. IDR ile pinin giriş durumunu okuyup, ODR ile pinin çıkış durumunu ayarlayacağız.

Örnek kullanım:

PortA’nın 15. pinini okumak için;

GPIOA_IDR.B15 komutu bize pinin durumunu 1 veya 0 olarak döndürür.

PortA’nin 0. pinini ayarlamak için;

GPIOA_ODR.B0 = 1 komutu ile A0 pini lojik 1,

GPIOA_ODR.B0 = 0 komutu ile A0 pini lojik 0 yapılır.

Yukarıdaki devremizde

  • 1 adet 220Ω direnç
  • 1 adet 10KΩ direnç
  • 1 adet buton
  • 1 adet led bulunmaktadır.

Şekilde gördüğünüz gibi buton Pull-Down olarak bağlanmıştır. Dolayısıyla buton boştayken pinde Lojik 0, butona basıldığı anda pinde Lojik 1(3.3V) okunur.

Gelelim yazılımımıza;

İlk olarak Ledin bağlı olduğu PortA Pin0 dijital çıkış, butonun bağlı olduğu PortA Pin15 dijital giriş olarak ayarlandı.

if(GPIOA_IDR.B15) komutu ile PortA Pin15’in lojik durumu okundu.

Pin durumu Lojik 1 ise;

GPIOA_ODR.B0 = 1 komutu ile PortA Pin0 lojik 1 yapılarak led yakıldı.

Eğer pin durumu Lojik 0 ise;

GPIOA_ODR.B0 = 0 komutu ile PortA Pin0 lojik 0 yapılarak led söndürüldü.

About the author

Leave a Reply

Merhaba

Bloguma Hoşgeldiniz.

Arşivler

Çevrimiçi Kişiler

1 misafir