Welcome

首页 / 软件开发 / .NET编程技术 / 在.Net Micro Framework中访问硬件 - part3

在.Net Micro Framework中访问硬件 - part32011-11-30 博客园 fox23摘要:本文介绍了.Net Micro Framework中对硬件的简单而独特的访问方式。结合模拟器和EmbeddedFusion Tahoe开发板,介绍了如何获取MF设备的电源供给和充电状态,如何获取处理器的特征(如速度等)以及硬件平台ID号等基本硬件信息.

一.电源和供电

一块MCU或者说一块开发板的工作是从上电开始的, 电源状态的改变是在嵌入式设备中我们经常要处理的问题。

在.Net Micro Framework提供了Battery类(在Microsoft.SPOT.Hardware命名空间下),该类提供了一组静态方法来帮助我们方便的获取设备的供电充电状态。有趣的是这个只包含静态方法的类在.Net MF 2.5中居然是可以是实例化的,不过在最新发布的.Net Micro Framework3.0 beta中,已经将它更改为static:

//Battery Class in .Net MF 2.5public sealed class Battery//Battery Class in .Net MF 3.0public static class Battery
下面我们借助一个简单的程序来看一下如何使用这个Battery类获取电池信息:

public static void Main()    {      Debug.Print("*** Battery Info ***");      //蓄电池或者蜂窝电池的充电状态      Debug.Print("State of Charge: " + Battery.StateOfCharge() + "%");      //是否充满(对电池来说并不一定是需要到100%才认为是充满了)      //这里IsFullyCharged方法只是用来检查是否电池可以承担正常负荷      Debug.Print("Is fully charged: " +(Battery.IsFullyCharged() ? "Yes" : "No"));      //ReadVoltage方法返回供电电压单位为毫伏故要除以1000换算为伏特      float voltageVolt = Battery.ReadVoltage() / 1000.0f;      Debug.Print("Voltage: " + voltageVolt.ToString("F3") + " Volt");      //ReadTemperature方法返回当前电池温度的10倍摄氏温度      float degreesCelsius = Battery.ReadTemperature() / 10.0f;      Debug.Print("Temperature: " + degreesCelsius.ToString("F1") +      "° Celsius");      //OnCharger方法用来返回是否接入外接充电电源      Debug.Print("On Charger: " + (Battery.OnCharger() ? "Yes" : "No"));    }