创建托管驱动

创建托管驱动

 我们今天来介绍一下,如何来使用.net MF来创建与各种硬件设备通讯的托管的驱动程序。

 托管驱动是通过标准的工业连接器与硬件通讯的类。 例如, 你可以创建托管驱动通过GPIO,i2c,让你的程序与硬件平台通讯。


   托管驱动的主要目标是通过连接进行信息的交换。
例如:一个通过GPIO连接的按键的驱动表示一个按键的状态,当我们点击这个键时,它会通知.net MF关于这个按键的事件,
你的应用程序也会得到这个按键的消息。
我们来看下面的例子:

public class Button : IDisposable
{
    protected InterruptPort m_interruptPort;

    //--//

    public Button( Cpu.Pin pin, GPIOInterruptEventHandler callback )       
    {
        m_interruptPort = new InterruptPort( pin, true, Port.ResistorMode.PullUp, Port.InterruptMode.InterruptEdgeLow );           

        if(callback != null)
        {
            m_interruptPort.OnInterrupt += callback;
        }
    }

    public Cpu.Pin Id
    {
        get
        {
            return m_interruptPort.Id;
        }
    }

    public void Dispose()
    {
        m_interruptPort.Dispose();
    }
}

这个类提供了一个为按键连接GPIO引脚的驱动。当应用程序调用按键的构造器时,它必须明确引脚的参数来确认是哪个引脚与这个按键通讯。
应用程序中也实现了回调函数中也实现了相应的参数。当按键按下时,.net mf自动调用回调函数。应用程序通过回调函数来反应按键按下的事件。


如上例所述,托管驱动必须管理输入与输出来实现设备与连接的通讯。

如果某设备通过I2C连接,那么你的驱动将从你的应用程序中接收命令。驱动将会解释这此命令,并把它们发送硬件的引脚并执行它们。如果这个解释的过程需要从引脚返回某此状态
那么驱动将会把这此返回信息发送到你的应用程序。

posted on 2008-01-13 13:33  酸辣大白菜  阅读(244)  评论(0编辑  收藏  举报

导航