读书人

直接在单片机下运行C# code

发布时间: 2012-12-20 09:53:21 作者: rapoo

直接在单片机上运行C# code
分享我的一篇博客给大家,欢迎探讨!

我的第一个TinyCLR程序:Hello World for .Net Micro Framework and ARM7
网址:http://blog.csdn.net/xinyaping/article/details/6693804

一年多以前,我自学单片机的时候,写的第一段C语言嵌入式程序就是一个运行在8位AVR单片机上的“Hello world”。在PC上写Hello world我们通常就是在图形界面或者控制台输出一个字符串,而单片机上的Hello world我通常是向发光二极管这种“显示设备”输出有规律的高低电平。


今天我得到了一块FEZ Panda II 开发板,又燃起了写Hello world的兴趣。

Show 一下,这块板子大小只比公交卡略大,长得是这个模样的:



这块板子其实就是一块ARM7 cortex M3的板子,采用LPC2387,集成了晶振、USB通讯模块、JTAG调试器和Micro SD Socket插槽。但这些并不是这块板子最耀眼的特色,它最耀眼的特色是它的固件(Firmware):它的固件中移植了TinyCLR,可以运行基于.Net Micro Framework 的.Net程序。

在单片机上运行.Net程序也不是啥稀奇的,支持WinCE的板子都能运行基于.Net Compact Framework的程序。但是,这块FEZ Panda II 开发板上面并没有运行着一个WinCE操作系统,它的.Net TinyCLR是直接运行在Bootloader之上的。

安装.Net Micro Framework SDK 4.1和GHI Electronics NETMF 4.1 SDK之后,在Visual Studio 2010里面建立了一个 .Net Micro Framework / FEZ Panda II Application这种类型的工程,输入以下C#代码,build、deploy、Run,一气呵成。


using System.Threading;
using GHIElectronics.NETMF.FEZ;
using Microsoft.SPOT.Hardware;

namespace FEZ_Panda_II_Application1
{
public class Program
{
internal const int StateChangeDelay = 500; //milliseconds
internal const Cpu.Pin port = (Cpu.Pin)FEZ_Pin.Digital.LED;

public static void Main()
{
// Blink board LED

bool ledState = false;
OutputPort led = new OutputPort(port, ledState);

while (true)
{
Thread.Sleep(StateChangeDelay);

// toggle LED state
ledState = !ledState;
led.Write(ledState);
}


}
}
}



运行结果:板载LED每秒闪烁一次。请看视频 http://v.youku.com/v_show/id_XMjk1NDgwOTM2.html


Tips: 一开始Deploy到板子上的时候总是失败,提示:Device not found or cannot be opened - USB:USBizi

想到可能是USBizi被占用了,于是在MFDeploy.exe里面断开连接,然后就Deploy成功了。
[解决办法]
在此推荐一下叶帆前辈的博客,人家的博客才是真正有技术含量的,我的博客纯粹献丑。
http://blog.csdn.net/yefanqiu/
[解决办法]
lz是来卖板子的?
[解决办法]
引用:
lz是来卖板子的?


你这么理解纯属误解。因为好多人不知道.Net Micro Framework和TinyCLR,特地来share一下。

卖板子我犯不着,我又不是商家,只是爱好者。

如果我骗人的话死一户口本。
[解决办法]
文中提到的FEZ板子,其介绍在这里:
http://www.tinyclr.com/

如果说我是在做广告,就好比你提到iPhone有人说你在给美国苹果公司做广告。犯得着吗?

我居然被人误解为做广告的,真是受到了莫大的屈辱,再次发毒誓:骗子死全家。
[解决办法]
看来大家好像都对这个话题不感兴趣。OK,结帖。
[解决办法]
顶一个 看下

读书人网 >.NET

热点推荐