.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:      } 
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号