/// <summary> /// 端口设置 /// </summary> /// <returns></returns> public Boolean PortSet() { int port, mode, hw, sw, ret, tout; Boolean PortSet = false; port = ExGlobal.Port; mode = ExGlobal.ByteSize | ExGlobal.StopBits | ExGlobal.Parity; if (ExGlobal.Hw) { hw = 3; } else { hw = 0; } if (ExGlobal.Sw) { sw = 12; } else { sw = 0; } ret = sio_ioctl(port, ExGlobal.BaudRate, mode); if (ret != ExGlobal.SIO_OK) { MxTool.MxShowError("sio_ioctl", ret); return(PortSet); } ret = sio_flowctrl(port, hw | sw); if (ret != ExGlobal.SIO_OK) { MxTool.MxShowError("sio_flowctrl", ret); return(PortSet); } tout = 512 * 1000 / sio_getbaud(ExGlobal.Port) * 3; //ms /byte ret = sio_SetWriteTimeouts(ExGlobal.Port, tout); if (ret != ExGlobal.SIO_OK) { MxTool.MxShowError("sio_SetWriteTimeouts", ret); return(PortSet); } this.Text = ExGlobal.ShowStatus(); PortSet = true; return(PortSet); }