📄 classwin__qextserialport.html
字号:
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classWin__QextSerialPort.html#3f96ad148dd04e48d2251d85866f2bb7">Win_QextSerialPort</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#write-2">write</a> (const QByteArray &byteArray)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#write">write</a> (const char *data, qint64 maxSize)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classWin__QextSerialPort.html#6700be65cee973991ccf77a6afdf131a">~Win_QextSerialPort</a> ()</td></tr><tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual qint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classWin__QextSerialPort.html#39d6d73caac12dc1ca58d88b6e08dcb9">readData</a> (char *data, qint64 maxSize)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual qint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classWin__QextSerialPort.html#be7e2c0f77000edfcf814fccae66fcd9">writeData</a> (const char *data, qint64 maxSize)</td></tr><tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">ulong </td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structPortSettings.html">PortSettings</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">COMMCONFIG </td><td class="memItemRight" valign="bottom"><a class="el" href="classWin__QextSerialPort.html#a51a3047aa92b01531219215bb415dbb">Win_CommConfig</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">COMMTIMEOUTS </td><td class="memItemRight" valign="bottom"><a class="el" href="classWin__QextSerialPort.html#a3909dbcf96493e43d79e075e626d68b">Win_CommTimeouts</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">HANDLE </td><td class="memItemRight" valign="bottom"><a class="el" href="classWin__QextSerialPort.html#f6dae6bb1c6b51e766e551bc11f1721d">Win_Handle</a></td></tr><tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static QMutex * </td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#f3d14f4614db4415c5f89746633cf197">mutex</a> = NULL</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static ulong </td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#e5df0cdbbf84781c17f02b8dbc99c93a">refCount</a> = 0</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2><dl compact><dt><b>Version:</b></dt><dd>1.0.0 </dd></dl><dl compact><dt><b>Author:</b></dt><dd>Stefan Sander</dd></dl>A cross-platform serial port class. This class encapsulates the Windows portion of <a class="el" href="classQextSerialPort.html">QextSerialPort</a>. The user will be notified of errors and possible portability conflicts at run-time by default - this behavior can be turned off by defining _TTY_NOWARN_ (to turn off all warnings) or _TTY_NOWARN_PORT_ (to turn off portability warnings) in the project. Note that defining _TTY_NOWARN_ also defines _TTY_NOWARN_PORT_.<p><dl compact><dt><b>Note:</b></dt><dd>On Windows NT/2000/XP this class uses Win32 serial port functions by default. The user may select POSIX behavior under NT, 2000, or XP ONLY by defining _TTY_POSIX_ in the project. I can make no guarantees as to the quality of POSIX support under NT/2000 however. </dd></dl><p><hr><h2>Constructor & Destructor Documentation</h2><a class="anchor" name="3f96ad148dd04e48d2251d85866f2bb7"></a><!-- doxytag: member="Win_QextSerialPort::Win_QextSerialPort" ref="3f96ad148dd04e48d2251d85866f2bb7" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">Win_QextSerialPort::Win_QextSerialPort </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Default constructor. Note that the name of the device used by a <a class="el" href="classWin__QextSerialPort.html">Win_QextSerialPort</a> constructed with this constructor will be determined by defined constants, or lack thereof - the default behavior is the same as _TTY_LINUX_. Possible naming conventions and their associated constants are:<p><div class="fragment"><pre class="fragment">Constant Used By Naming Convention---------- ------------- ------------------------_TTY_WIN_ Windows COM1, COM2_TTY_IRIX_ SGI/IRIX /dev/ttyf1, /dev/ttyf2_TTY_HPUX_ HP-UX /dev/tty1p0, /dev/tty2p0_TTY_SUN_ SunOS/Solaris /dev/ttya, /dev/ttyb_TTY_DIGITAL_ Digital UNIX /dev/tty01, /dev/tty02_TTY_FREEBSD_ FreeBSD /dev/ttyd0, /dev/ttyd1_TTY_LINUX_ Linux /dev/ttyS0, /dev/ttyS1<none> Linux /dev/ttyS0, /dev/ttyS1</pre></div><p>This constructor associates the object with the first port on the system, e.g. COM1 for Windows platforms. See the other constructor if you need a port other than the first. <div class="fragment"><pre class="fragment"><a name="l00047"></a>00047 :<a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>() {<a name="l00048"></a>00048 <a class="code" href="classWin__QextSerialPort.html#f6dae6bb1c6b51e766e551bc11f1721d">Win_Handle</a>=INVALID_HANDLE_VALUE;<a name="l00049"></a>00049 }</pre></div><p></div></div><p><a class="anchor" name="a2968038a33b91c0f21e43f2a267a35c"></a><!-- doxytag: member="Win_QextSerialPort::Win_QextSerialPort" ref="a2968038a33b91c0f21e43f2a267a35c" args="(Win_QextSerialPort const &s)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">Win_QextSerialPort::Win_QextSerialPort </td> <td>(</td> <td class="paramtype"><a class="el" href="classWin__QextSerialPort.html">Win_QextSerialPort</a> const & </td> <td class="paramname"> <em>s</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p><a class="el" href="classWin__QextSerialPort.html#a2968038a33b91c0f21e43f2a267a35c">Win_QextSerialPort::Win_QextSerialPort(const Win_QextSerialPort&)</a> Copy constructor. <div class="fragment"><pre class="fragment"><a name="l00054"></a>00054 :<a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>(s.port) {<a name="l00055"></a>00055 <a class="code" href="classWin__QextSerialPort.html#f6dae6bb1c6b51e766e551bc11f1721d">Win_Handle</a>=INVALID_HANDLE_VALUE;<a name="l00056"></a>00056 <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#setOpenMode">setOpenMode</a>(s.openMode());<a name="l00057"></a>00057 <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=s.lastErr;<a name="l00058"></a>00058 <a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a> = s.port;<a name="l00059"></a>00059 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>=s.Settings.FlowControl;<a name="l00060"></a>00060 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>=s.Settings.Parity;<a name="l00061"></a>00061 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=s.Settings.DataBits;<a name="l00062"></a>00062 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>=s.Settings.StopBits;<a name="l00063"></a>00063 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=s.Settings.BaudRate;<a name="l00064"></a>00064 <a class="code" href="classWin__QextSerialPort.html#f6dae6bb1c6b51e766e551bc11f1721d">Win_Handle</a>=s.Win_Handle;<a name="l00065"></a>00065 memcpy(&<a class="code" href="classWin__QextSerialPort.html#a51a3047aa92b01531219215bb415dbb">Win_CommConfig</a>, &s.Win_CommConfig, <span class="keyword">sizeof</span>(COMMCONFIG));<a name="l00066"></a>00066 memcpy(&<a class="code" href="classWin__QextSerialPort.html#a3909dbcf96493e43d79e075e626d68b">Win_CommTimeouts</a>, &s.Win_CommTimeouts, <span class="keyword">sizeof</span>(COMMTIMEOUTS));<a name="l00067"></a>00067 }</pre></div><p></div></div><p><a class="anchor" name="b88b54d3b5d528b75b7a5fbfe83ca673"></a><!-- doxytag: member="Win_QextSerialPort::Win_QextSerialPort" ref="b88b54d3b5d528b75b7a5fbfe83ca673" args="(const QString &name)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">Win_QextSerialPort::Win_QextSerialPort </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"> <em>name</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Constructs a serial port attached to the port specified by devName. devName is the name of the device, which is windowsystem-specific, e.g."COM2" or "/dev/ttyS0". <div class="fragment"><pre class="fragment"><a name="l00075"></a>00075 :<a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>(name) {<a name="l00076"></a>00076 <a class="code" href="classWin__QextSerialPort.html#f6dae6bb1c6b51e766e551bc11f1721d">Win_Handle</a>=INVALID_HANDLE_VALUE;<a name="l00077"></a>00077 }</pre></div><p></div></div><p><a class="anchor" name="8eebc2f042fe2b9b782fcac8cee7689c"></a><!-- doxytag: member="Win_QextSerialPort::Win_QextSerialPort" ref="8eebc2f042fe2b9b782fcac8cee7689c" args="(const PortSettings &settings)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">Win_QextSerialPort::Win_QextSerialPort </td> <td>(</td> <td class="paramtype">const <a class="el" href="structPortSettings.html">PortSettings</a> & </td> <td class="paramname"> <em>settings</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Constructs a port with default name and specified settings. <div class="fragment"><pre class="fragment"><a name="l00083"></a>00083 {<a name="l00084"></a>00084 <a class="code" href="classWin__QextSerialPort.html#f6dae6bb1c6b51e766e551bc11f1721d">Win_Handle</a>=INVALID_HANDLE_VALUE;<a name="l00085"></a>00085 <a class="code" href="classWin__QextSerialPort.html#a5578e4862e3743da2a923f082f821d6">setBaudRate</a>(settings.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>);<a name="l00086"></a>00086 <a class="code" href="classWin__QextSerialPort.html#33168191b03365b429b8413f6286f4c8">setDataBits</a>(settings.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>);<a name="l00087"></a>00087 <a class="code" href="classWin__QextSerialPort.html#67fc083cb06b6b1872fc4360cd599821">setStopBits</a>(settings.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>);<a name="l00088"></a>00088 <a class="code" href="classWin__QextSerialPort.html#bae5c88ee4e09908766febede36a682a">setParity</a>(settings.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>);<a name="l00089"></a>00089 <a class="code" href="classWin__QextSerialPort.html#7660b3b66f45ce087ea14572e753f44d">setFlowControl</a>(settings.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -