Linux Ubuntu Üzerinde Msp430 LaunchPad İçin Led Uygulaması

| Temmuz 14, 2014 Tarihinde güncellendi
Linux Ubuntu Üzerinde Msp430 LaunchPad İçin Led Uygulaması

Daha önceki yazımda msp430 kurulumunu linux altında yapıp test etmiştik.Şimdi ise mp430 için linux altında yazacağımız ilk uygulamayı anlatacağım.Bu çalışmamı linux ubuntu 11.04 üzerinde yaptım bundan önceki sürümlerdede sorun çıkacağını sanmıyorum.

PCBway Türkiye PCB Manufacturer PCB Assembly

Aşağıdaki kodlar x86(32bit) linux makine üzerinde veya Gnome arayüzü kullanan makinelerde çalışması gerekir.Eğer Gnome arayüzü kullanıyorsanız aşağıda yazan kodları uçbirimde yazarsanız mp430 için kullanılmasını gereken paketleri indirebilirsiniz.

Yazağımız İlk Kodlar (Ubuntu Paketleri İçin)

$ sudo aptitude install git-core gcc-4.4 texinfo patch libncurses5-dev
$ sudo aptitude install zlibc zlib1g-dev libx11-dev libusb-dev libreadline6-dev

İlk uygulamamızı yapmak için herşeyimiz hazır.

P1 pin’i ile kırmızı led arasında bağlantı kuracağız. nEditörümüzde ilkuygulama.c dosyası oluşturalım ve aşağıdaki kodları yazalım.


#include <msp430g2231.h>
 
int main(void) {
  volatile int i;
 
  // Watchdog timer'ı durdur
  WDTCTL = WDTPW | WDTHOLD;
  P1DIR = 0x01;
 
  P1OUT = 0x00;
 
  // Sonsuz döngü
  for (;;) {
 
    P1OUT ^= 0x01;
    // gecikme için yazılan kod
    for (i = 0; i < 0x6000; i++);
  }
}

Ardından programımızı derliyoruz..

$ /opt/msp430-gcc-4.4.5/bin/msp430-gcc -oS -o blink.elf ilkuygulama.c

Msp430 LaunchPad kit’in yanında verilen Usb kablosunu launchpad’e bağlayın ve usb’nin diğer ucunu makinenize takın.Usb için gerekli programını indirmek ve led yakıp söndürme işlemini başlatmak için aşağıdaki kodları yazın..

$ sudo mspdebug rf2500
(mspdebug) prog ilkuygulama.elf
Erasing...
Programming...
Writing 104 bytes to fc00...
Writing 32 bytes to ffe0...
(mspdebug) run
Running. Press Ctrl+C to interrupt...

Şuan kırmızı led’inizin yanıp sönmesi gerekiyor 😀

Yayım tarihi: 2011/08/14 Etiketler: , , ,



Bir yanıt yazın

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