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

📄 classqextbasetype.html

📁 qt下 第三方串口类 最新版本 1.2
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00167"></a>00167     }
<a name="l00168"></a>00168     <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00169"></a>00169 }
</pre></div>
<p>

</div>
</div><p>
<a class="anchor" name="6d6eeab48cad2fa2adbebb23920c661a"></a><!-- doxytag: member="QextBaseType::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="l00103"></a>00103 {
<a name="l00104"></a>00104     <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="l00105"></a>00105 }
</pre></div>
<p>

</div>
</div><p>
<a class="anchor" name="6d593fe4f4623e93537a531d2c6157b7"></a><!-- doxytag: member="QextBaseType::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, inherited]</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="l00922"></a>00922 {
<a name="l00923"></a>00923     LOCK_MUTEX();
<a name="l00924"></a>00924     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:" href="qiodevice.html#isOpen">isOpen</a>()) {
<a name="l00925"></a>00925         <span class="keywordtype">int</span> bytesQueued;
<a name="l00926"></a>00926         fd_set fileSet;
<a name="l00927"></a>00927         FD_ZERO(&amp;fileSet);
<a name="l00928"></a>00928         FD_SET(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), &amp;fileSet);
<a name="l00929"></a>00929 
<a name="l00930"></a>00930         <span class="comment">/*on Linux systems the Posix_Timeout structure will be altered by the select() call.</span>
<a name="l00931"></a>00931 <span class="comment">          Make sure we use the right timeout values*/</span>
<a name="l00932"></a>00932         <span class="comment">//memcpy(&amp;Posix_Timeout, &amp;Posix_Copy_Timeout, sizeof(struct timeval));</span>
<a name="l00933"></a>00933         <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="l00934"></a>00934         <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="l00935"></a>00935         <span class="keywordflow">if</span> (!n) {
<a name="l00936"></a>00936             <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_PORT_TIMEOUT;
<a name="l00937"></a>00937             UNLOCK_MUTEX();
<a name="l00938"></a>00938             <span class="keywordflow">return</span> -1;
<a name="l00939"></a>00939         }
<a name="l00940"></a>00940         <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="l00941"></a>00941             <a class="code" href="classPosix__QextSerialPort.html#a099923f1360a08c6b7072254fd056e6">translateError</a>(errno);
<a name="l00942"></a>00942             UNLOCK_MUTEX();
<a name="l00943"></a>00943             <span class="keywordflow">return</span> -1;
<a name="l00944"></a>00944         }
<a name="l00945"></a>00945         <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_NO_ERROR;
<a name="l00946"></a>00946         UNLOCK_MUTEX();
<a name="l00947"></a>00947         <span class="keywordflow">return</span> bytesQueued + <a class="codeRef" doxygen="qiodevice.tag:" href="qiodevice.html#bytesAvailable">QIODevice::bytesAvailable</a>();
<a name="l00948"></a>00948     }
<a name="l00949"></a>00949     UNLOCK_MUTEX();
<a name="l00950"></a>00950     <span class="keywordflow">return</span> 0;
<a name="l00951"></a>00951 }
</pre></div>
<p>

</div>
</div><p>
<a class="anchor" name="8c76fa901fd01f97f57addad088c3e2c"></a><!-- doxytag: member="QextBaseType::bytesAvailable" ref="8c76fa901fd01f97f57addad088c3e2c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">qint64 Win_QextSerialPort::bytesAvailable           </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>
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 Win_QextSerialPort::getLastError(). 
<p>
Implements <a class="el" href="classQextSerialBase.html#7e130a0ba5a0a9ba95ce5f75a5e2c526">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00287"></a>00287                                           {
<a name="l00288"></a>00288     LOCK_MUTEX();
<a name="l00289"></a>00289     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:" href="qiodevice.html#isOpen">isOpen</a>()) {
<a name="l00290"></a>00290         DWORD Errors;
<a name="l00291"></a>00291         COMSTAT Status;
<a name="l00292"></a>00292         <span class="keywordtype">bool</span> success=ClearCommError(<a class="code" href="classWin__QextSerialPort.html#f6dae6bb1c6b51e766e551bc11f1721d">Win_Handle</a>, &amp;Errors, &amp;Status);
<a name="l00293"></a>00293         <a class="code" href="classWin__QextSerialPort.html#bf215448e265ab0bc8d06cb05e0f7778">translateError</a>(Errors);
<a name="l00294"></a>00294         <span class="keywordflow">if</span> (success) {
<a name="l00295"></a>00295             <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_NO_ERROR;
<a name="l00296"></a>00296             UNLOCK_MUTEX();
<a name="l00297"></a>00297             <span class="keywordflow">return</span> Status.cbInQue + <a class="codeRef" doxygen="qiodevice.tag:" href="qiodevice.html#bytesAvailable">QIODevice::bytesAvailable</a>();
<a name="l00298"></a>00298         }
<a name="l00299"></a>00299         UNLOCK_MUTEX();
<a name="l00300"></a>00300         <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)-1;
<a name="l00301"></a>00301     }
<a name="l00302"></a>00302     UNLOCK_MUTEX();
<a name="l00303"></a>00303     <span class="keywordflow">return</span> 0;
<a name="l00304"></a>00304 }
</pre></div>
<p>

</div>
</div><p>
<a class="anchor" name="11e2e2dc7c1756a12b268eef058f0237"></a><!-- doxytag: member="QextBaseType::bytesToWrite" ref="11e2e2dc7c1756a12b268eef058f0237" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">qint64 Win_QextSerialPort::bytesToWrite           </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>
Return number of bytes waiting in the buffer. Currently this shows number of bytes queued within <a class="elRef" doxygen="qiodevice.tag:" href="qiodevice.html#write">write()</a> and before the TX_EMPTY event occured. TX_EMPTY event is created whenever last character in the system buffer was sent.<p>

⌨️ 快捷键说明

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