/// <summary> /// 获取端口读取超时时间 /// </summary> /// <param name="port">端口编号</param> /// <param name="totalTimeouts">超时总值</param> /// <param name="intervalTimeouts">间隔超时值</param> /// <returns></returns> public static PortAPI.ErrorCodes GetReadTimeouts(int port, out int totalTimeouts, out int intervalTimeouts) { int ret = PortAPI.sio_GetReadTimeouts(port, out totalTimeouts, out intervalTimeouts); return((PortAPI.ErrorCodes)ret); }
/// <summary> /// 当端口接收到数据时的回调方法 /// </summary> /// <param name="port">端口编号</param> /// <param name="func">回调方法</param> /// <param name="len">数据长度超过len开始回调 默认1</param> /// <returns></returns> public static PortAPI.ErrorCodes SetDataReceived(int port, PortAPI.DataReceivedEventHandler func, int len = 1) { int ret = PortAPI.sio_cnt_irq(port, func, len); return((PortAPI.ErrorCodes)ret); }
/// <summary> /// 获取端口写入超时时间 /// </summary> /// <param name="port">端口编号</param> /// <returns></returns> public static PortAPI.ErrorCodes GetWriteTimeouts(int port, out int totalTimeout) { int ret = PortAPI.sio_GetWriteTimeouts(port, out totalTimeout); return((PortAPI.ErrorCodes)ret); }
/// <summary> /// 设置端口写入超时时间 /// </summary> /// <param name="port">端口编号</param> /// <param name="totaltimeouts">总超时值</param> /// <param name="intervalTimeouts">间隔超时值 默认0</param> public static PortAPI.ErrorCodes SetWriteTimeouts(int port, int totalTimeouts, int intervalTimeouts) { int ret = PortAPI.sio_SetWriteTimeouts(port, totalTimeouts, intervalTimeouts); return((PortAPI.ErrorCodes)ret); }
/// <summary> /// 向缓冲区写入数据 /// </summary> /// <param name="buffer">数据流</param> /// <returns></returns> public static PortAPI.ErrorCodes Write(int port, byte[] buffer) { int ret = PortAPI.sio_write(port, buffer, buffer.Length); return((PortAPI.ErrorCodes)ret); }
/// <summary> /// 获取接收缓冲区的数据长度 /// </summary> /// <param name="port">端口编号</param> /// <returns>-1缓冲区内没有数据</returns> public static int Iqueue(int port) { int ret = PortAPI.sio_iqueue(port); return(ret); }
/// <summary> /// 清除端口缓冲区数据 /// </summary> /// <param name="port">端口编号</param> /// <param name="state">0 - 清除写入缓冲区数据 1 - 清除读缓冲区数据 2 - 清除读写缓冲区数据</param> public static PortAPI.ErrorCodes Flush(int port, int func) { int ret = PortAPI.sio_flush(port, func); return((PortAPI.ErrorCodes)ret); }
/// <summary> /// 读取端口数据 /// </summary> /// <param name="port">端口编号</param> /// <param name="buffer">数据流</param> /// <param name="len">数据长度</param> public static PortAPI.ErrorCodes Read(int port, byte[] buffer, int len) { int ret = PortAPI.sio_read(port, buffer, len); return((PortAPI.ErrorCodes)ret); }
/// <summary> /// 关闭端口 /// </summary> /// <param name="port">端口编号</param> /// <returns></returns> public static PortAPI.ErrorCodes Close(int port) { int ret = PortAPI.sio_close(port); return((PortAPI.ErrorCodes)ret); }
/// <summary> /// 设置端口波特率、数据位、停止位、检验位 /// </summary> /// <param name="port">端口编号</param> /// <param name="baudRate">波特率</param> /// <param name="mode">数据位|停止位|检验位 - 格式</param> /// <returns></returns> public static PortAPI.ErrorCodes Setioctl(int port, PortAPI.BaudRates baudRate, int mode) { int ret = PortAPI.sio_ioctl(port, (int)baudRate, mode); return((PortAPI.ErrorCodes)ret); }
/// <summary> /// 打开端口 /// </summary> /// <param name="port">端口编号</param> public static PortAPI.ErrorCodes Open(int port) { int ret = PortAPI.sio_open(port); return((PortAPI.ErrorCodes)ret); }