Dizem que a Microsoft é um organismo que deixa certos projetos parados por anos, até que um belo dia olha e diz “vamos fazer isso!”… Isso foi o que aconteceu com o Microframework (NETMF). Mas o que na verdade é este NETMF?

Visão Geral

É uma platanforma .NET opensource para microprocessadores com pelo menos 320KB de memória, que inclui uma pequena versão do .NET CLR, suporta C# (não existe suporte para outra linguagem) para seu desenvolvimento e um alto nível de debugging – tudo isso usando o Visual Studio (versão express C# esta disponivel gratuitamente pelo link). Além de conter um subset das classes do .NET ele possui um framework de GUI baseado no WPF – tudo isso sem precisar de sistema operacional.

Obejtivo do NETMF é proporcionar um desenvolvimento mais simples, rápido e sem gerar altos custos para se trabalhar com técnologias do mercado embarcado. Adicional a isso, você possui uma plataforma única de desenvolvimento em todos os níveis com .NET.

Alguns Recursos

  • Necessita de pouco recurso de memória 320KB contra 12MB do .NET Compact Fremework no  Windwos CE;
  • Suporte multithreading mesmo quando rodando em sistema single-threaded;
  • Independente de hardware, você pode desenvolver para várias arquiteturas sem precisar se preucupar com especificações de cada fabricante;
  • Ja possui suporte a conexões e perifiéricos mais comuns em sistemas embarcados: memoria flash, EEPROM, GPIO, I2C, SPI, USB;
  • Optimizado para eficiencia em baixo consumo de energia;
  • Programação em alto nível;
  • Suporta arquitetura ARM (ARM7 e ARM9 também)

Primeiro “Hello World!”

Qual seria a graça de eu dizer que ele é rápido para desenvolvimento e você sair do post sem ter visto ele piscar um led e um “Hello World!”. Seguinte vou usar o Netduino para fazer o seguinte exemplo.

Para o desenvolvimento você precisara dos seguintes programas:
- Microsoft Visual C# Express 2010
- .NET Micro Framework SDK v4.1
- Netduino SDK (32bit) ou Netduino SDK (64bit)

Objetivo deste exemplo não é ser super avançado (isso fico para outros posts), mas sim quebrar a barreria entre NETMF e você. Vamos piscar o led que esta na placa e imprimir um “Hello World!” no Visual Studio.

“File>New>Project”
image

Coloque o seguinte código em Program.cs:

using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;

namespace HelloWorld
{
  public class Program
  {
    public static void Main()
    {
      OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);

      Debug.Print("Hello World!");

      while (true)
      {
        led.Write(!led.Read());
        Thread.Sleep(1000);
      }
    }

  }
}

Va em propiedades e mande descarregar pela usb no Netduino:

image

Depois e só rodar e você recebera um “Hello World!” no output pelo debug e o led azul da placa ficara piscando.

Untitled-1

Ótimo feriado, até a próxima!

Links Interessantes

.NET Micro Framework – Team Blog
Netduino
.NET Micro Framework | Resources, Whitepapers, Tools, & Developer Kits