📄 classwin__qextserialport.html
字号:
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<div class="fragment"><pre class="fragment"><a name="l00102"></a>00102 {
<a name="l00103"></a>00103 <a class="code" href="classWin__QextSerialPort.html#f6dae6bb1c6b51e766e551bc11f1721d">Win_Handle</a>=INVALID_HANDLE_VALUE;
<a name="l00104"></a>00104 <a class="code" href="classQextSerialBase.html#1c9f83f00f0ea53ee06b757e197cdf64">setPortName</a>(name);
<a name="l00105"></a>00105 <a class="code" href="classWin__QextSerialPort.html#a5578e4862e3743da2a923f082f821d6">setBaudRate</a>(settings.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>);
<a name="l00106"></a>00106 <a class="code" href="classWin__QextSerialPort.html#33168191b03365b429b8413f6286f4c8">setDataBits</a>(settings.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>);
<a name="l00107"></a>00107 <a class="code" href="classWin__QextSerialPort.html#67fc083cb06b6b1872fc4360cd599821">setStopBits</a>(settings.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>);
<a name="l00108"></a>00108 <a class="code" href="classWin__QextSerialPort.html#bae5c88ee4e09908766febede36a682a">setParity</a>(settings.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>);
<a name="l00109"></a>00109 <a class="code" href="classWin__QextSerialPort.html#7660b3b66f45ce087ea14572e753f44d">setFlowControl</a>(settings.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>);
<a name="l00110"></a>00110 <a class="code" href="classWin__QextSerialPort.html#40f1d5f9474e35c227e2d7ac681bb9a7">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="l00111"></a>00111 <a class="code" href="classQextSerialBase.html#bd8e3b9a5028f9c2645ba89c0fc08a6b">setQueryMode</a>(mode);
<a name="l00112"></a>00112 <a class="code" href="classWin__QextSerialPort.html#187315696bdc6ccb5d07c24ba6c4555f">init</a>();
<a name="l00113"></a>00113 }
</pre></div>
<p>
</div>
</div><p>
<a class="anchor" name="6700be65cee973991ccf77a6afdf131a"></a><!-- doxytag: member="Win_QextSerialPort::~Win_QextSerialPort" ref="6700be65cee973991ccf77a6afdf131a" 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%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Standard destructor. <div class="fragment"><pre class="fragment"><a name="l00131"></a>00131 {
<a name="l00132"></a>00132 <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:" href="qiodevice.html#isOpen">isOpen</a>()) {
<a name="l00133"></a>00133 <a class="code" href="classWin__QextSerialPort.html#fd2a4f6a94c877e5ae2dbf742af61b1d">close</a>();
<a name="l00134"></a>00134 }
<a name="l00135"></a>00135 CloseHandle(<a class="code" href="classWin__QextSerialPort.html#016eb4cecee3028d8bfa66146d262400">overlap</a>.hEvent);
<a name="l00136"></a>00136 <span class="keyword">delete</span> <a class="code" href="classWin__QextSerialPort.html#9edfed65b7763c69d775a181c361e461">overlapThread</a>;
<a name="l00137"></a>00137 <span class="keyword">delete</span> <a class="code" href="classWin__QextSerialPort.html#9dc5b1cba88ecda500921baf1cbe61a0">bytesToWriteLock</a>;
<a name="l00138"></a>00138 }
</pre></div>
<p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="573bd8fdf0ea5e4fb6caddc13a0ed5eb"></a><!-- doxytag: member="Win_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> ) </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="l00164"></a>00164 {
<a name="l00165"></a>00165 <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#86fc9d6239b7d136a9d80b93a727e093">size</a>()) {
<a name="l00166"></a>00166 <span class="keywordflow">return</span> <span class="keyword">true</span>;
<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="Win_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 </td>
<td class="paramname"> </td>
<td> ) </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="8c76fa901fd01f97f57addad088c3e2c"></a><!-- doxytag: member="Win_QextSerialPort::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> ) </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 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>, &Errors, &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="Win_QextSerialPort::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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -