⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classposix__qextserialport.html

📁 linux下的串口通讯程序.用于开发串口程序很方便
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00094"></a>00094     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=<span class="keyword">new</span> QFile();<a name="l00095"></a>00095     <a class="code" href="classPosix__QextSerialPort.html#aa242514dface394bc00906e043b0243">setTimeout</a>(settings.<a class="code" href="structPortSettings.html#159ca543549b3b872917fc4ef0757b60">Timeout_Sec</a>, settings.<a class="code" href="structPortSettings.html#c1b008038ad143262a2ee18247fe2c39">Timeout_Millisec</a>);<a name="l00096"></a>00096 }</pre></div><p></div></div><p><a class="anchor" name="574b415cde61cf693449338aef692211"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_QextSerialPort" ref="574b415cde61cf693449338aef692211" args="(const QString &amp;name, const PortSettings &amp;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 QString &amp;&nbsp;</td>          <td class="paramname"> <em>name</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">const <a class="el" href="structPortSettings.html">PortSettings</a> &amp;&nbsp;</td>          <td class="paramname"> <em>settings</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Constructs a port with specified name and settings. <div class="fragment"><pre class="fragment"><a name="l00103"></a>00103  : <a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>(name)<a name="l00104"></a>00104 {<a name="l00105"></a>00105     <a class="code" href="classPosix__QextSerialPort.html#007fcdd90f1137b010b6c43aa5b6dc6e">setBaudRate</a>(settings.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>);<a name="l00106"></a>00106     <a class="code" href="classPosix__QextSerialPort.html#8f428dad3c4ec2fa8128397628c7e5d1">setDataBits</a>(settings.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>);<a name="l00107"></a>00107     <a class="code" href="classPosix__QextSerialPort.html#22dedc4f44c33b13f64bff33f844f795">setParity</a>(settings.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>);<a name="l00108"></a>00108     <a class="code" href="classPosix__QextSerialPort.html#34b54ac1bef6090010bf00a45dc173fe">setStopBits</a>(settings.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>);<a name="l00109"></a>00109     <a class="code" href="classPosix__QextSerialPort.html#8bdd56422fbb95da7216f182a1ef6cfb">setFlowControl</a>(settings.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>);<a name="l00110"></a>00110 <a name="l00111"></a>00111     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=<span class="keyword">new</span> QFile();<a name="l00112"></a>00112     <a class="code" href="classPosix__QextSerialPort.html#aa242514dface394bc00906e043b0243">setTimeout</a>(settings.<a class="code" href="structPortSettings.html#159ca543549b3b872917fc4ef0757b60">Timeout_Sec</a>, settings.<a class="code" href="structPortSettings.html#c1b008038ad143262a2ee18247fe2c39">Timeout_Millisec</a>);<a name="l00113"></a>00113 }</pre></div><p></div></div><p><a class="anchor" name="12f6cdddbfd1b37109a39a0bcffb446d"></a><!-- doxytag: member="Posix_QextSerialPort::~Posix_QextSerialPort" ref="12f6cdddbfd1b37109a39a0bcffb446d" 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>&nbsp;)&nbsp;</td>          <td width="100%"><code> [virtual]</code></td>        </tr>      </table></div><div class="memdoc"><p>Standard destructor. <div class="fragment"><pre class="fragment"><a name="l00142"></a>00142 {<a name="l00143"></a>00143     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {<a name="l00144"></a>00144         <a class="code" href="classPosix__QextSerialPort.html#3a7ddf86a867770c88777c3e78545cb0">close</a>();<a name="l00145"></a>00145     }<a name="l00146"></a>00146     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;close();<a name="l00147"></a>00147     <span class="keyword">delete</span> <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>;<a name="l00148"></a>00148 }</pre></div><p></div></div><p><hr><h2>Member Function Documentation</h2><a class="anchor" name="573bd8fdf0ea5e4fb6caddc13a0ed5eb"></a><!-- doxytag: member="Posix_QextSerialPort::atEnd" ref="573bd8fdf0ea5e4fb6caddc13a0ed5eb" args="() const " --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">bool QextSerialBase::atEnd           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"> const<code> [virtual, inherited]</code></td>        </tr>      </table></div><div class="memdoc"><p>This function will return true if the input buffer is empty (or on error), and false otherwise. Call <a class="el" href="classQextSerialBase.html#e4029cb49127422b7e76586930366b05">QextSerialBase::lastError()</a> for error information. <div class="fragment"><pre class="fragment"><a name="l00187"></a>00187 {<a name="l00188"></a>00188     <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#86fc9d6239b7d136a9d80b93a727e093">size</a>()) {<a name="l00189"></a>00189         <span class="keywordflow">return</span> <span class="keyword">true</span>;<a name="l00190"></a>00190     }<a name="l00191"></a>00191     <span class="keywordflow">return</span> <span class="keyword">false</span>;<a name="l00192"></a>00192 }</pre></div><p></div></div><p><a class="anchor" name="6d6eeab48cad2fa2adbebb23920c661a"></a><!-- doxytag: member="Posix_QextSerialPort::baudRate" ref="6d6eeab48cad2fa2adbebb23920c661a" args="() const " --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname"><a class="el" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010">BaudRateType</a> QextSerialBase::baudRate           </td>          <td>(</td>          <td class="paramtype">void&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"> const<code> [virtual, inherited]</code></td>        </tr>      </table></div><div class="memdoc"><p>Returns the baud rate of the serial port. For a list of possible return values see the definition of the enum BaudRateType. <div class="fragment"><pre class="fragment"><a name="l00126"></a>00126 {<a name="l00127"></a>00127     <span class="keywordflow">return</span> <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>;<a name="l00128"></a>00128 }</pre></div><p></div></div><p><a class="anchor" name="6d593fe4f4623e93537a531d2c6157b7"></a><!-- doxytag: member="Posix_QextSerialPort::bytesAvailable" ref="6d593fe4f4623e93537a531d2c6157b7" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">qint64 Posix_QextSerialPort::bytesAvailable           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"><code> [virtual]</code></td>        </tr>      </table></div><div class="memdoc"><p>Returns the number of bytes waiting in the port's receive queue. This function will return 0 if the port is not currently open, or -1 on error. Error information can be retrieved by calling Posix_QextSerialPort::getLastError(). <p>Implements <a class="el" href="classQextSerialBase.html#7e130a0ba5a0a9ba95ce5f75a5e2c526">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00909"></a>00909 {<a name="l00910"></a>00910     LOCK_MUTEX();<a name="l00911"></a>00911     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {<a name="l00912"></a>00912         <span class="keywordtype">int</span> bytesQueued;<a name="l00913"></a>00913         fd_set fileSet;<a name="l00914"></a>00914         FD_ZERO(&amp;fileSet);<a name="l00915"></a>00915         FD_SET(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), &amp;fileSet);<a name="l00916"></a>00916 <a name="l00917"></a>00917         <span class="comment">/*on Linux systems the Posix_Timeout structure will be altered by the select() call.</span><a name="l00918"></a>00918 <span class="comment">          Make sure we use the right timeout values*/</span><a name="l00919"></a>00919         <span class="comment">//memcpy(&amp;Posix_Timeout, &amp;Posix_Copy_Timeout, sizeof(struct timeval));</span><a name="l00920"></a>00920         <a class="code" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_Timeout</a> = <a class="code" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a>;<a name="l00921"></a>00921         <span class="keywordtype">int</span> n=select(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle()+1, &amp;fileSet, NULL, &amp;fileSet, &amp;Posix_Timeout);<a name="l00922"></a>00922         <span class="keywordflow">if</span> (!n) {<a name="l00923"></a>00923             <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_PORT_TIMEOUT;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -