如何在单片机上运行C#代码?

本人是学C#的,纯属新手!

首先我说下为什么我要在单片机运行C#代码,恳请老鸟耐心看下,非常感谢!

我现在有一台机器,我需要在机器上装一个安全监控保护装置,遇到异常时切断电源!

因为之前从没接触过这些,也是刚找的相关知识。

我找到一个USB继电器,这个继电器是直接USB连接电脑的提供了很多编程语言的接口,可以直接在程序里控制,
我现在写了段程序已经可以根据传感器监控的信息来用这个继电器切断和连通电源。可是麻烦的是,这个继电器必须要在PC机上安装驱动,然后再用程序控制!
我觉得专门用一台电脑来运行这个程序实在有点浪费资源!
然后又查了下有单片机这东西,可是那个貌似普遍只能运行C语言的,我只会C#!查了下现在有的单片机是可以运行C#的,来此虚心求教!

问题:1.能否用单片机运行C#程序?
2.单片机可以安装以上所说继电器(USB接入)的驱动吗?

因为本人对这两样东西都很陌生,根本算不上了解,所以提问可能也有点含糊,还望懂得大鸟耐心帮我解答下,或许我的方法方向是错误的、有更好的办法打到效果,也望各位提点建议,非常感谢!

最终目的:脱离PC机,实现传感器和继电器的正常联合运作。

  安装.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);
  }
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-06
C#需要 离不开ms windows 的.net 公共语言运行时 CLI 你听说过那个单片机 上运行windows了.................

单片机 目前 只能支持到c++(极少数高级单片机)
而且是没有操作系统的情况下( ARM / Power PC ....不算 它们性能太强 ....)

你还是老老实实 用单片机(8051最基础、其他pic、avr、.....)和C吧

单片机你需要自己写程序 加 搭点适当的电路去控制 继电器(这个具体得看继电器用的什么 协议 信号)(你那驱动是对windows系统和pc而言滴)
第2个回答  2013-06-06
想法不错!
直接说你的是什么传感器吧,温度?除了视频处理一般的单片机直接检测传感器然后控制继电器就OK了,不需要USB+C#!本回答被提问者采纳
第3个回答  2013-06-06
能运行C#的单片机最少也得到ARM级别了吧,有个办法就是考虑重写驱动
第4个回答  2013-06-07
你查查看 .Net Micro Framework 开发板,能不能满足你的要求。