示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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);
        }
示例#5
0
        /// <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);
        }
示例#6
0
        /// <summary>
        /// 获取接收缓冲区的数据长度
        /// </summary>
        /// <param name="port">端口编号</param>
        /// <returns>-1缓冲区内没有数据</returns>
        public static int Iqueue(int port)
        {
            int ret = PortAPI.sio_iqueue(port);

            return(ret);
        }
示例#7
0
        /// <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);
        }
示例#8
0
        /// <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);
        }
示例#9
0
        /// <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);
        }
示例#10
0
        /// <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);
        }
示例#11
0
        /// <summary>
        /// 打开端口
        /// </summary>
        /// <param name="port">端口编号</param>
        public static PortAPI.ErrorCodes Open(int port)
        {
            int ret = PortAPI.sio_open(port);

            return((PortAPI.ErrorCodes)ret);
        }