📄 classposix__qextserialport.html
字号:
<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="classPosix__QextSerialPort.html#12f6cdddbfd1b37109a39a0bcffb446d">~Posix_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="classPosix__QextSerialPort.html#73b99fe7198e7e94b13c13416a6b9fae">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="classPosix__QextSerialPort.html#e8aabe89e479259b0b991dbd6b424f78">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">termios </td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">timeval </td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">QFile * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">timeval </td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_Timeout</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 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 POSIX 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 _TTY_NOWARN_ will also turn off portability warnings. <p><hr><h2>Constructor & Destructor Documentation</h2><a class="anchor" name="e6e0dda91cd654352c26686e88a416ff"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_QextSerialPort" ref="e6e0dda91cd654352c26686e88a416ff" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">Posix_QextSerialPort::Posix_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="classQextSerialPort.html">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 assigns the device name to the name of the first port on the specified system. See the other constructors if you need to open a different port. <div class="fragment"><pre class="fragment"><a name="l00041"></a>00041 : <a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>()<a name="l00042"></a>00042 {<a name="l00043"></a>00043 <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=<span class="keyword">new</span> QFile();<a name="l00044"></a>00044 }</pre></div><p></div></div><p><a class="anchor" name="c409b3d891500be663894c9910749390"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_QextSerialPort" ref="c409b3d891500be663894c9910749390" args="(const Posix_QextSerialPort &s)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">Posix_QextSerialPort::Posix_QextSerialPort </td> <td>(</td> <td class="paramtype">const <a class="el" href="classPosix__QextSerialPort.html">Posix_QextSerialPort</a> & </td> <td class="paramname"> <em>s</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Copy constructor. <div class="fragment"><pre class="fragment"><a name="l00051"></a>00051 : <a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>(s.<a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a>)<a name="l00052"></a>00052 {<a name="l00053"></a>00053 <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#setOpenMode">setOpenMode</a>(s.<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#openMode">openMode</a>());<a name="l00054"></a>00054 <a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a> = s.<a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a>;<a name="l00055"></a>00055 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>;<a name="l00056"></a>00056 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>;<a name="l00057"></a>00057 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>;<a name="l00058"></a>00058 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>;<a name="l00059"></a>00059 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>;<a name="l00060"></a>00060 <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=s.<a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>;<a name="l00061"></a>00061 <a name="l00062"></a>00062 <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=<span class="keyword">new</span> QFile();<a name="l00063"></a>00063 <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=s.<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>;<a name="l00064"></a>00064 memcpy(&<a class="code" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_Timeout</a>, &s.<a class="code" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_Timeout</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> timeval));<a name="l00065"></a>00065 memcpy(&<a class="code" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a>, &s.<a class="code" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> timeval));<a name="l00066"></a>00066 memcpy(&<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, &s.<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> termios));<a name="l00067"></a>00067 }</pre></div><p></div></div><p><a class="anchor" name="07e9e48ffb75ad02b3cfaeb14ccbf384"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_QextSerialPort" ref="07e9e48ffb75ad02b3cfaeb14ccbf384" args="(const QString &name)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">Posix_QextSerialPort::Posix_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 name. name is the name of the device, which is windowsystem-specific, e.g."COM1" or "/dev/ttyS0". <div class="fragment"><pre class="fragment"><a name="l00076"></a>00076 : <a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>(name)<a name="l00077"></a>00077 {<a name="l00078"></a>00078 <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=<span class="keyword">new</span> QFile();<a name="l00079"></a>00079 }</pre></div><p></div></div><p><a class="anchor" name="8ade17fa6605245162661b75b9e71105"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_QextSerialPort" ref="8ade17fa6605245162661b75b9e71105" args="(const PortSettings &settings)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">Posix_QextSerialPort::Posix_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="l00086"></a>00086 : <a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>()<a name="l00087"></a>00087 {<a name="l00088"></a>00088 <a class="code" href="classPosix__QextSerialPort.html#007fcdd90f1137b010b6c43aa5b6dc6e">setBaudRate</a>(settings.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>);<a name="l00089"></a>00089 <a class="code" href="classPosix__QextSerialPort.html#8f428dad3c4ec2fa8128397628c7e5d1">setDataBits</a>(settings.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>);<a name="l00090"></a>00090 <a class="code" href="classPosix__QextSerialPort.html#22dedc4f44c33b13f64bff33f844f795">setParity</a>(settings.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>);<a name="l00091"></a>00091 <a class="code" href="classPosix__QextSerialPort.html#34b54ac1bef6090010bf00a45dc173fe">setStopBits</a>(settings.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>);<a name="l00092"></a>00092 <a class="code" href="classPosix__QextSerialPort.html#8bdd56422fbb95da7216f182a1ef6cfb">setFlowControl</a>(settings.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>);<a name="l00093"></a>00093
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -