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

📄 classposix__qextserialport.html

📁 linux下的串口通讯程序.用于开发串口程序很方便
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00924"></a>00924             UNLOCK_MUTEX();<a name="l00925"></a>00925             <span class="keywordflow">return</span> -1;<a name="l00926"></a>00926         }<a name="l00927"></a>00927         <span class="keywordflow">if</span> (n==-1 || ioctl(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), FIONREAD, &amp;bytesQueued)==-1) {<a name="l00928"></a>00928             <a class="code" href="classPosix__QextSerialPort.html#a099923f1360a08c6b7072254fd056e6">translateError</a>(errno);<a name="l00929"></a>00929             UNLOCK_MUTEX();<a name="l00930"></a>00930             <span class="keywordflow">return</span> -1;<a name="l00931"></a>00931         }<a name="l00932"></a>00932         <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_NO_ERROR;<a name="l00933"></a>00933         UNLOCK_MUTEX();<a name="l00934"></a>00934         <span class="keywordflow">return</span> bytesQueued + <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#bytesAvailable">QIODevice::bytesAvailable</a>();<a name="l00935"></a>00935     }<a name="l00936"></a>00936     UNLOCK_MUTEX();<a name="l00937"></a>00937     <span class="keywordflow">return</span> 0;<a name="l00938"></a>00938 }</pre></div><p></div></div><p><a class="anchor" name="3a7ddf86a867770c88777c3e78545cb0"></a><!-- doxytag: member="Posix_QextSerialPort::close" ref="3a7ddf86a867770c88777c3e78545cb0" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void Posix_QextSerialPort::close           </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>Closes a serial port. This function has no effect if the serial port associated with the class is not currently open. <p>Implements <a class="el" href="classQextSerialBase.html#2a4aea428bc05a88f86849bb7478c082">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00865"></a>00865 {<a name="l00866"></a>00866     LOCK_MUTEX();<a name="l00867"></a>00867     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;close();<a name="l00868"></a>00868     <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#close">QIODevice::close</a>();<a name="l00869"></a>00869     UNLOCK_MUTEX();<a name="l00870"></a>00870 }</pre></div><p></div></div><p><a class="anchor" name="7495b472b5e269d04c0c2e856901207f"></a><!-- doxytag: member="Posix_QextSerialPort::construct" ref="7495b472b5e269d04c0c2e856901207f" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void QextSerialBase::construct           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"><code> [virtual, inherited]</code></td>        </tr>      </table></div><div class="memdoc"><p>Common constructor function for setting up default port settings. (115200 Baud, 8N1, Hardware flow control where supported, otherwise no flow control, and 500 ms timeout). <div class="fragment"><pre class="fragment"><a name="l00083"></a>00083 {<a name="l00084"></a>00084     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=<a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01054a5ab3e880bc1722d455e420c0351e6">BAUD115200</a>;<a name="l00085"></a>00085     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa719dc653cb3f7c9fbf6c8b8c36d78a9f">DATA_8</a>;<a name="l00086"></a>00086     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>=<a class="code" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957acee0df16cbf90ff8b05d96d37094b3980a">PAR_NONE</a>;<a name="l00087"></a>00087     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>=<a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f5a97cec5fc7aa14a4caae4b53d97fcfc">STOP_1</a>;<a name="l00088"></a>00088     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>=<a class="code" href="qextserialbase_8h.html#02ad1c7cf791a069dd54e409f8db479037eb6a580629a080ce39792149cf4976">FLOW_HARDWARE</a>;<a name="l00089"></a>00089     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#159ca543549b3b872917fc4ef0757b60">Timeout_Sec</a>=0;<a name="l00090"></a>00090     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#c1b008038ad143262a2ee18247fe2c39">Timeout_Millisec</a>=500;<a name="l00091"></a>00091 <a name="l00092"></a>00092 <span class="preprocessor">#ifdef QT_THREAD_SUPPORT</span><a name="l00093"></a>00093 <span class="preprocessor"></span>    <span class="keywordflow">if</span> (!<a class="code" href="classQextSerialBase.html#f3d14f4614db4415c5f89746633cf197">mutex</a>) {<a name="l00094"></a>00094         <a class="code" href="classQextSerialBase.html#f3d14f4614db4415c5f89746633cf197">mutex</a>=<span class="keyword">new</span> QMutex( QMutex::Recursive );<a name="l00095"></a>00095     }<a name="l00096"></a>00096     <a class="code" href="classQextSerialBase.html#e5df0cdbbf84781c17f02b8dbc99c93a">refCount</a>++;<a name="l00097"></a>00097 <span class="preprocessor">#endif</span><a name="l00098"></a>00098 <span class="preprocessor"></span><a name="l00099"></a>00099     <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#setOpenMode">setOpenMode</a>(QIODevice::NotOpen);<a name="l00100"></a>00100 }</pre></div><p></div></div><p><a class="anchor" name="6836465ea5deaa1280e0e777e9c8651e"></a><!-- doxytag: member="Posix_QextSerialPort::dataBits" ref="6836465ea5deaa1280e0e777e9c8651e" args="() const " --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname"><a class="el" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa">DataBitsType</a> QextSerialBase::dataBits           </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>Returns the number of data bits used by the port. For a list of possible values returned by this function, see the definition of the enum DataBitsType. <div class="fragment"><pre class="fragment"><a name="l00136"></a>00136 {<a name="l00137"></a>00137     <span class="keywordflow">return</span> <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>;<a name="l00138"></a>00138 }</pre></div><p></div></div><p><a class="anchor" name="ad41090da77578cfae4b24510fe8c9b7"></a><!-- doxytag: member="Posix_QextSerialPort::flowControl" ref="ad41090da77578cfae4b24510fe8c9b7" args="() const " --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname"><a class="el" href="qextserialbase_8h.html#02ad1c7cf791a069dd54e409f8db4790">FlowType</a> QextSerialBase::flowControl           </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>Returns the type of flow control used by the port. For a list of possible values returned by this function, see the definition of the enum FlowType. <div class="fragment"><pre class="fragment"><a name="l00166"></a>00166 {<a name="l00167"></a>00167     <span class="keywordflow">return</span> <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>;<a name="l00168"></a>00168 }</pre></div><p></div></div><p><a class="anchor" name="5f12a1a6c1c6a163fe146272e9a7d275"></a><!-- doxytag: member="Posix_QextSerialPort::flush" ref="5f12a1a6c1c6a163fe146272e9a7d275" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void Posix_QextSerialPort::flush           </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>Flushes all pending I/O to the serial port. This function has no effect if the serial port associated with the class is not currently open. <p>Implements <a class="el" href="classQextSerialBase.html#58df9d786aa70dfe9f547d4118103f39">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00878"></a>00878 {<a name="l00879"></a>00879     LOCK_MUTEX();<a name="l00880"></a>00880     <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="l00881"></a>00881         <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;flush();<a name="l00882"></a>00882     }<a name="l00883"></a>00883     UNLOCK_MUTEX();<a name="l00884"></a>00884 }</pre></div><p>

⌨️ 快捷键说明

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