专注

导航

.Net调用硬件接口DLL的操作

首先需要安装程序驱动,也就是需要把硬件厂家提供的驱动安装在操作系统上;

实例代码如下:

   1:      public sealed class PCI1230
   2:      {
   3:          //接口卡类型定义
   4:          public enum PCIDeviceType
   5:          {
   6:              PCI1230Success = 1024,
   7:              PCI1230ApiFailed = 1025,
   8:              PCI1230NullParam = 1026,
   9:              PCI1230DevNotFind = 1027,
  10:              PCI1230InvalidBoardId = 1028,
  11:              PCI1230InvalidIntnumber = 1029,
  12:              PCI1230InvalidAddress = 1030
  13:          }
  14:   
  15:          /// <summary>
  16:          /// 打开PCI1230设备,获得资源
  17:          /// </summary>
  18:          /// <param name="Boardid">PCI-1230 板ID.必须在0~15之间</param>
  19:          /// 在使用设备前,先确认该函数调用成功,才能确保后面的函数调用成功
  20:          /// <returns>PCI1230DevNotFind/PCI1230Success/PCI1230InvalidBoardId</returns>
  21:          [DllImport("PCI1230.dll", EntryPoint = "Pci1230Open", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
  22:          public static extern UInt32 Pci1230Open(UInt32 Boardid);
  23:   
  24:          /// <summary>
  25:          /// 读PCI1230光隔离输入通道
  26:          /// </summary>
  27:          /// <param name="Boardid">PCI-1230 板ID.必须在0~15之间</param>
  28:          /// <param name="Data">读回来的数据</param>
  29:          /// <returns></returns>
  30:          [DllImport("PCI1230.dll", EntryPoint = "Pci1230Read", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
  31:          public static extern UInt32 Pci1230Read(UInt32 Boardid, ref byte Data);
  32:   
  33:   
  34:          /// <summary>
  35:          /// PCI1230光隔离输出
  36:          /// </summary>
  37:          /// <param name="Boardid">PCI-1230 板ID.必须在0~15之间</param>
  38:          /// <param name="WriteData">需要输出的数据</param>
  39:          /// <returns></returns>
  40:          [DllImport("PCI1230.dll", EntryPoint = "Pci1230Write", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
  41:          public static extern UInt32 Pci1230Write(UInt32 Boardid, UInt32 WriteData);
  42:   
  43:   
  44:          /// <summary>
  45:          /// 关闭PCI1230设备,释放资源
  46:          /// </summary>
  47:          /// <param name="Boardid">PCI-1230 板ID.必须在0~15之间</param>
  48:          /// <returns></returns>
  49:          [DllImport("PCI1230.dll", EntryPoint = "Pci1230Close", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
  50:          public static extern UInt32 Pci1230Close(UInt32 Boardid);
  51:      }

posted on 2011-11-14 13:24  陈啊M  阅读(701)  评论(0编辑  收藏  举报