TI (Texas Instruments) LaunchPad ile MSP430 Programlama – GPIO

TI (Texas Instruments) LaunchPad ile MSP430 Programlama – GPIO

Merhaba, bu seriye TI (Texas Instruments ) LaunchPad ile MSP430 Mikrodenetleyicisi Programlamaya Giriş  ile giriş yapmıştık.  Bir önceki yazıya göz atmak isterseniz linke tıklayıp okuyabilirsiniz.

Serimizin bu yazısında çevre birimlerinden GPIO ne olduğuna anlatıp, CCS programıyla ilk kodumuzu yazacağız. Ardından led yakıp söndüreceğiz. 

Bir programlama dili öğrenmeye başlarken yaptığımız ilk uygulama ekrana “hello world” ya da “merhaba dünya” yazısı yazdırmaktır. Gömülü programlamaya başlarken ilk yaptığımız uygulama “blinky” veya “led blink” yani led yakıp söndürmektir. Unutmayın, elektronikte de her şey led yakmayla başlar.

GPIO (GENERAL PURPOSE INPUT/OUTPUT) Nedir?

GPIO (GENERAL PURPOSE INPUT/OUTPUT) yani genel amaçlı giriş çıkış pinidir. Adından da anlaşıldığı gibi bu pinler ile farklı birçok işlem gerçekleştirebiliriz. GPIO pini ile led yakmak, led söndürmek, butondan veri okumak, motor sürmek, sensörden gelen veriyi okumak gibi birçok işlem yapabilirsiniz. Her mikrodenetleyicinin farklı sayıda GPIO pin bağlantısı bulunmaktadır. Bizim kullandığımız MSP430G22553 mikrodenetleyicisinin 8 GPIO pini bulunmaktadır.

MSP430’da GPIO

Mikrodenetleyici programlarken üretici firmanın kullanıcılar için yayınladığı teknik dokümanlardan yararlanacağız.  MSP430G2X53 mikrodenetleyici ailesi için yayınlanan datasheet ve user guide dokümanlarını inceleyebilirsiniz.  Mikrodenetleyici programlarken bu dokümanlardan yararlanacağız.

Kullandığımız TI LauncPad MSP430 geliştirme kitinde olan MSP430G22553 mikrodenetleyicisinin pinoutu aşağıda gösterilmiştir.

Mikrodenetleyicimizde 8 adet GPIO pini bulunmaktadır. Bu pinleri GPIO pinleri olarak tanımlarken aşağıdaki yapılandırmaları kullanıyoruz.

⤷Output Registers PxOUT

Bu yapılandırmada pinimizi çıkış olarak belirlemiş oluyoruz. Çıkış işlemleri okuma yazma şeklindedir. Bu işlemde bite karşılık gelen değer ise;

Bit = 0: LOW

Bit = 1: HIGH

şeklindedir.

⤷Input Register PxIN

Bu yapılandırmada pinimizi giriş olarak belirlemiş oluyoruz. Bu işlemde bite karşılık gelen değer ise;

Bit = 0: LOW

Bit = 1: HIGH

şeklindedir.

⤷Direction Registers PxDIR

Bu yapılandırmada pinimizi seçilen yapılandırmadan bağımsız olarak giriş/çıkış olarak seçebiliyoruz.

Bit = 1: Pin çıkış olarak ayarlanmaktadır.
Bit = 0: Pin giriş olarak ayarlanmaktadır.

⤷Pullup/Pulldown Resistor Enable Registers PxREN

Bu yapılandırma pinimizi karşılık gelen giriş/çıkış pininin Pullup/Pulldown direncini aktifleştirir veya devre dışı bırakır.

Bit = 0: Pullup/pulldown direnci devre dışı
Bit = 1: Pullup/pulldown direnci aktif

Bunların dışında pinimizi; Function Select Registers PxSEL and PxSEL2, Pin Oscillator, P1 and P2 Interrupts, Configuring Unused Port Pins olarakta yapılandırabiliriz.

Şimdi ilk kodumuzu yazalım. 🙂

Led Yakıp Söndürme (Led Blink)

Kullandığımız geliştirme kartındaki ledi yakıp söndürme kodunuz yazacağız.

Bu yazılımda Code Composer Studio IDE geliştirme ortamını kullanacağız. Uygulamayı indirip kurulumu yaptıktan sonra “new project” sekmesine tıklayıp yeni bir proje oluşturuyoruz.

Burada doğru mikrodenetleyiciyi seçtiğinize emin olun.

Kullandığımız geliştirme kartının üzerindeki led mikrodenetleyicimizin P1.0 pinine bağlıdır.

En temel led yakıp söndürme kodunu yazmış bulunmaktayız. Sormak istediğiniz bir şey olursa çekinmeyin.

Bir sonraki yazıda görüşmek üzere.  Kendinize iyi bakın. 🙂

 

Zeynep Dicle
yazı

Merhaba! Ben Zeynep Dicle. Elektrik Elektronik mühendisliği mezunu, gömülü yazılım sevdalısı bir geliştiriciyim. Gömülü yazılım alanında blog yazıları paylaşıyorum. ^_^

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir