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.
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:
Depois e só rodar e você recebera um “Hello World!” no output pelo debug e o led azul da placa ficara piscando.
Ótimo feriado, até a próxima!
Links Interessantes
.NET Micro Framework – Team Blog
Netduino
.NET Micro Framework | Resources, Whitepapers, Tools, & Developer Kits
