在.net中访问PCI-7250 NuDAQ
本文关键字:PCI-7250 NuDAQ 访问 net | 更新日期: 2023-09-27 18:14:57
我想使用。net使用PCI-7250 NuDAQ卡打开继电器。
我知道VB中的代码是:
card = Register_Card(PCI_7250, 0)
v = DO_WritePort(card, 0, &O17)
和关闭:
v = DO_WritePort(card, 0, &O0)
我需要将其迁移到c#代码。有人能帮我一下吗?
如果您想采用读写I/O端口的方式,您需要能够写它们。.net框架(至少是windows上的微软框架)不直接支持这个。对于读/写并行端口,我在InOut32库(链接)上取得了巨大的成功。这意味着您必须使用PInvoke才能使其工作。对我来说,这段代码可以工作:
[DllImport("inpoutx64.dll", EntryPoint = "Out32")]
private static extern void OutputImpl(int adress, int value);
[DllImport("inpoutx64.dll", EntryPoint = "Inp32")]
private static extern int InputImpl(int adress);
public static void Output(int adress, int value)
{
// I use this wrapper to set debug breakpoints so I can see what's going on
OutputImpl(adress, value);
}
public static int Input(int adress)
{
int ret = InputImpl(adress);
return ret;
}
注意,如果你正在运行一个32位的应用程序,你将需要引用"InOut32.dll"库。我不确定您需要使用的特定端口,但我认为您可以在互联网上找到它们,或者从PCI卡配置的IO地址范围(参见设备管理器中的设备属性)中尝试一些。