You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
3.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace USB2XXX
{
class USB2GPIO
{
//定义函数返回错误代码
public const Int32 GPIO_SUCCESS = (0); //函数执行成功
public const Int32 GPIO_ERR_NOT_SUPPORT = (-1); //适配器不支持该函数
public const Int32 GPIO_ERR_USB_WRITE_FAIL = (-2); //USB写数据失败
public const Int32 GPIO_ERR_USB_READ_FAIL = (-3); //USB读数据失败
public const Int32 GPIO_ERR_CMD_FAIL = (-4); //命令执行失败
/**
* @brief GPIO
* @param DevHandle
* @param PinMask bitbit1P0
* @param PuPd 0-1-2-
* @retval 0
*/
[DllImport("USB2XXX.dll")]
public static extern Int32 GPIO_SetInput(Int32 DevHandle,UInt32 PinMask, Byte PuPd);
/**
* @brief GPIO
* @param DevHandle
* @param PinMask bitbit1P0
* @param PuPd 0-1-2-
* @retval 0
*/
[DllImport("USB2XXX.dll")]
public static extern Int32 GPIO_SetOutput(Int32 DevHandle,UInt32 PinMask, Byte PuPd);
/**
* @brief GPIO
* @param DevHandle
* @param PinMask bitbit1P0
* @param PuPd 0-1-使2-使
* @retval 0
*/
[DllImport("USB2XXX.dll")]
public static extern Int32 GPIO_SetOpenDrain(Int32 DevHandle,UInt32 PinMask, Byte PuPd);
/**
* @brief GPIO
* @param DevHandle
* @param PinMask bitbit1P0
* @param PinValue bitbit10P0
* @retval 0
*/
[DllImport("USB2XXX.dll")]
public static extern Int32 GPIO_Write(Int32 DevHandle,UInt32 PinMask, UInt32 PinValue);
/**
* @brief GPIO
* @param DevHandle
* @param PinMask bitbit1P0
* @param pPinValue bitbit10P0
* @retval 0
*/
[DllImport("USB2XXX.dll")]
public static extern Int32 GPIO_Read(Int32 DevHandle,UInt32 PinMask, ref UInt32 pPinValue);
}
}