Facebook RSS Feed
 

Hello -Micro Framework- World!

.NET Micro Framework ile uygulama geliştirmek, ilk aşamalarda C# ile konsol uygulaması geliştirmeye benzer. Bu bölümde adım adım .NET MF SDK'sını kurup ilk "Merhaba Dünya" uygulamamızı geliştireceğiz.

Öngereksinimler

32 yada 64 Bit Windows Vista yada Windows 7 yüklü bilgisayarınızda Visual Studio 2010'un ücretsiz Express versiyonu dahil herhangi bir versiyonunun yüklü olması gerekiyor. Windows'un daha önceki bir sürümünü kullanıyorsanız, Visual Studio 2008'in herhangi bir versiyonunu da kullanabilirsiniz.

Adım 1: .NET MF SDK'sı Kurulumu

Visual Studio'ya .NET MF desteği eklemek için Microsoft Download Center'dan .NET Micro Framework SDK'sını indirip kurmanız gerekiyor. Visual Studio 2010 kullanıyorsanız, .NET MF 4.1 SDK'sını buradan indirebilirsiniz. Visual Studio 2008 kullanıyorsanız .NET MF 4.0 SDK yüklemeniz gerekiyor. (4.1 versiyonu Visual Studio 2008'de çalışmayacaktır.)

Adım 2: Fiziksel Cihaz SDK'sı Kurulumu (İsteğe Bağlı)

Elinizde fiziksel bir mikrodenetleyici yada geliştirme kiti varsa, bu cihazların PWM, CAN, I2C gibi donanımsal özelliklerini kullanabilmeniz için cihazın üreticisinden temin edeceğiniz SDK'yı kurmanız gerekiyor. Şu an için yalnızca simulatör üzerinde deneme yapacaksanız bu aşamayı atlayabilirsiniz.

Adım 3: .NET MF Uygulaması Oluşturmak

Visual Studio'da yeni bir proje oluşturup Visual C# başlığı altından Micro Framework'ü seçin:

-

Pencerenin orta bölümündeki şablonlar, yüklediğiniz cihazların SDK'larına göre değişiklik gösterecektir. Micro Framework SDK'sı ile gelen Console Application'ı seçerek projenizi oluşturabilirsiniz.

Adım 4: Simulatör Üzerinde İlk Uygulamamızı Çalıştırmak

Solution Explorer'dan Program.cs dosyasını açın. Bu dosya, uygulamamızın başlangıç ve işleyiş kodlarını içerir. Program.cs dosyasının içeriği aşağıdaki gibi olacaktır:

using System;
using Microsoft.SPOT;
 
namespace MFMerhabaDunya
{
    public class Program
    {
        public static void Main()
        {
            Debug.Print(
                Resources.GetString(Resources.StringResources.String1));
        }
 
    }
}

Main metodunun içeriği mikrodenetleyiciye elektrik verildikten sonra çalışmaya başlar. F5'e basarak uygulamayı çalıştırdığınızda simulatör ekranı gelecek ve birkaç saniye sonra kapanacaktır. Bunun sebebi uygulamanın görevini bitirmesi ve kendini sonlandırmasıdır. İşlem bitiminde uygulamanın sonlandırılmaması için namespace'ler arasına "using System.Threading" satırını ve Main metodunun sonuna "Thread.Sleep(Timeout.Infinite);" kodunu ekleyin:

using System;
using Microsoft.SPOT;
using System.Threading;
 
namespace MFMerhabaDunya
{
    public class Program
    {
        public static void Main()
        {
            Debug.Print(
                Resources.GetString(Resources.StringResources.String1));
 
            Thread.Sleep(Timeout.Infinite);
        }
 
    }
}

Uygulamayı şimdi çalıştırdığınızda, Visual Studio ayarlarınıza göre Output yada Immediate Window penceresinde "Hello World!" yazdığını göreceksiniz. Bu yazıyı değiştirip, o anki tarih ve saati yazdıralım:

using System;
using Microsoft.SPOT;
using System.Threading;
 
namespace MFMerhabaDunya
{
    public class Program
    {
        public static void Main()
        {
            Debug.Print(DateTime.Now.ToString());
 
            Thread.Sleep(Timeout.Infinite);
        }
 
    }
}

Debug.Print komutu, fiziksel cihaz yada simulatör üzerinde çalışırken mikrodenetleyicinin Visual Studio'ya mesaj göndermesini sağlar. Uygulamayı bir kez daha çalıştırdığınızda, Output penceresinde o anki tarih ve saati göreceksiniz: 

10/22/2010 06:07:52

Bu komutu bir While döngüsü içerisinde yazarak her saniye tarih / saat bilgisini yazdırabiliriz:

using System;
using Microsoft.SPOT;
using System.Threading;
 
namespace MFMerhabaDunya
{
    public class Program
    {
        public static void Main()
        {
            while (true)
            {
                Debug.Print(DateTime.Now.ToString());
                Thread.Sleep(1000);
            }
        }
 
    }
}

 Thread.Sleep komutu ile aktif Thread'i belirtilen milisaniye kadar dondurabiliyoruz. Uygulama çalıştığında her saniye tarih / saat bilgisini Output penceresinde göreceksiniz. (Simulatör üzerinde çalışırken zamanlamada sarkmalar olabilir. Fiziksel cihazla çalışırken bu tür sarkmalar olmayacaktır. )

Adım 5: Fiziksel Cihaz Üzerinde Uygulama Çalıştırmak

.NET Micro Framework, mikrodenetleyici üzerinde çalışmak amacıyla optimize edildiğinden, fiziksel bir geliştirme kiti yada mikrodenetleyici üzerinde - zamanlama açısından - daha gerçekçi sonuçlar alacaksınız. Simulatör üzerinde çalışması mantıklı olmayan, mikrodenetleyicilere has donanımsal özelliklere de fiziksel cihaz üzerinden erişmeniz mümkün olacaktır.

Cihazınıza özel SDK'yı ve sürücülerini kurduktan sonra cihazınızı bilgisayara bağlayın. USB, Seri port yada Ethernet ile bağlantı yapabilirsiniz. En yaygın ve kolay yöntem, USB ile bağlanmayı inceleyelim. Solution Explorer'dan projenize sağ tıklayıp Properties'i seçin.

-

Proje ayarlarının sol kısmından .NET Micro Framework sekmesini seçip Transport seçeneğinden USB'yi seçin. Device bölümünde bilgisayarınıza o an bağlı cihaz(lar)ı göreceksiniz. Uygun cihazı seçip pencerenin ayarlarını kaydedin. Şimdi F5'e bastığınızda simulatör penceresi açılmayacak, bunun yerine uygulamanız mikrodenetleyiciye gönderilip çalışacaktır. Yine simulatörde olduğu gibi Debug mesajları almaya devam edeceksiniz. 

Gelecek Adımlar

İlerleyen zamanda mikrodenetleyicilere özel kavramları öğrenerek C# ile elektronik cihazlara ve mekanik sistemlere hükmetmenin keyfini süreceksiniz. Masaüstü uygulaması geliştirmek ile benzer ve apayrı yönleri olan gömülü sistem programlamada ilk adımınızı attınız. Kolay gelsin...




 
Hoşgeldiniz!
Son güncelleme: 25.12.2016
-
Yeni Teknik Yazılar
Latte Panda İncelemesi
Turta IoT HAT İncelemesi
USB Gamepad Kullanımı
GPIO Kullanımı
VEML6075 UV Sensör Kullan...
-
İlgili Gruplar
.NET MF ve Gadgeteer FB Grubu
İst. IoT & Wearables Meet-up
-
 

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.Copyright © 1999 - 2017, Umut Erkal. Bu materyal, "Creative Commons Public Licence" ile sunulmuştur.
Kaynak göstererek ve ücretsiz olarak, aynı şartlar altında paylaşabilir ve kullanabilirsiniz. | Kullanım Sözleşmesi