Начинаем работать с .NET Micro Framework

Я начинаю цикл статей, в котором хочу описывать работу в среде разработки .NET Micro Framework. В настоящее время данная платформа набирает популярность, т.к. обеспечивает простоту разработки, удобную среду разработку и мощную поддержку в виде дополнительных библиотек, классов и т.п. Также, большим преимуществом является легкость портирования кода с одного устройства на другое. Немного о платформе можно почитать в этой статье: немного о FEZ и .NET Micro Framework Появляется все больше и больше устройств, поддерживающих данную платформу: 32 и 64 разрядные микроконтроллеры ARM7, ARM9, Analog Devices Blackfin, Netduino и др.
В качестве среды разработки используется знакомый всем win-программистам Microsoft Visual Studio. Язык программирования C#.
 
Размер загрузочного модуля .NET Micro Framework составляет всего около 300 кБайт и не требует какой-либо ОС. Для сравнения .NET Compact Framework для Windows CE занимает 12 МБайт. Естественно, в «микро» отсутствуют многие библиотеки от «старших» фреймворков и не поддерживаются многие функции.
Официальный сайт .NET Micro Framework находится здесь
 
Во всех последующих статьях я буду описывать работу с использованием платы Fez Panda II о которой можно почитать здесь. Вкратце скажу лишь, что в ней используется 72МГц, 32-bit ARM7 процессор. Покупку платы я подробно описывал в данном топике, обошлась она мне в районе 1000 руб.

Итак, начнем.
Для того, чтобы начать работу с .NET Micro Framework и FEZ Panda II понадобится 3 вещи:
  1. Среда разработки Visual C# Express 2010. Скачать ее можно отсюда.
  2. .NET Micro Framework 4.1 SDK скачать можно здесь.
  3. И наконец GHI NETMF SDK (если у вас другой контроллер, то для него понадобится свой SDK). Скачать можно отсюда.
Устанавливаем все в такой же последовательности.
 
После того, как все установили запустите среду разработки Visual C# Express 2010. Выберите пункт «Создать проект» и если все правильно установили, то там будет FEZ Panda II Application, который мы и выбираем:
FEZ Panda II Application
 
Visual C# Express создаст проект, который кстати работает и представляет из себя приложение аля Hello Word! Только вместо Hello Word у нас это обычно мигание светодиодом, что собственно и делает данное приложение.
В окне Visual C# Express, справа находится «Обозреватель решений»:
Обозреватель решений
Наибольший интерес для нас тут представляют раздел «Ссылки» и файл Program.cs. 
Файл program.cs — это собственно и есть главный файл нашей программы.
В разделе «Ссылки» содержатся подключаемые компоненты (проще говоря библиотеки). Добавляются они туда вручную, для этого необходимо нажать правой кнопкой мыши на папке «Ссылки» и выбрать «Добавить ссылку». 
 
Дважды щелкнув по файлу Program.cs мы откроем программу:

using System;
using System.Threading;

using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;

using GHIElectronics.NETMF.FEZ;

namespace FEZ_Panda_II_Application1
{
    public class Program
    {
        public static void Main()
        {
            // Мигание встроенным в плату LED

            bool ledState = false;

            OutputPort led = new OutputPort((Cpu.Pin)FEZ_Pin.Digital.LED, ledState);    //Задаем соответствующий вывод порта переменной led

            while (true)        //Вечный цикл
            {
                // Пауза 500мс
                Thread.Sleep(500);

                // Меняем статус LED с выкл. на вкл. и наоборот
                ledState = !ledState;
                led.Write(ledState);    //Записываем статус в порт
            }
        }
    }
}


Плата FEZ Panda II содержит встроенный в плату светодиод (впрочем как и Arduino). Данная демо-программа просто заставляет мигать данный светодиод с периодичностью 500 мс.
Код я немного прокомментировал, он довольно таки просто и понятен.

Visual C# Express поддерживает симуляцию и отладку. Поэтому протестировать код вы можете даже не имея контроллера. Понажимайте F11 для пошаговой отладки приложения.

Как видите, ничего сложного в разработке приложений с использованием .NET Micro Framework нет. Когда в следующих статьях мы будем использовать различные компоненты и библиотеки вы убедитесь в этом еще больше. Если вы ранее программировали под Windows в среде Visual Studio, то разберетесь еще быстрее.

В следующей статье я расскажу о подключении контроллера.

2 комментария

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.