📄 classpserialchannel.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>PSerialChannel class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>PSerialChannel Class Reference</h1><code>#include <<a class="el" href="serchan_8h-source.html">serchan.h</a>></code><p><p>Inheritance diagram for PSerialChannel:<p><center><img src="classPSerialChannel.png" usemap="#PSerialChannel_map" border="0" alt=""></center><map name="PSerialChannel_map"><area href="classPChannel.html" alt="PChannel" shape="rect" coords="0,56,100,80"><area href="classPObject.html" alt="PObject" shape="rect" coords="0,0,100,24"><area href="classPModem.html" alt="PModem" shape="rect" coords="0,168,100,192"></map><a href="classPSerialChannel-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Construction</h2></td></tr><tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z349_0">Parity</a> { <br> <a class="el" href="classPSerialChannel.html#z349_0s0">DefaultParity</a>, <a class="el" href="classPSerialChannel.html#z349_0s1">NoParity</a>, <a class="el" href="classPSerialChannel.html#z349_0s2">EvenParity</a>, <a class="el" href="classPSerialChannel.html#z349_0s3">OddParity</a>, <br> <a class="el" href="classPSerialChannel.html#z349_0s4">MarkParity</a>, <a class="el" href="classPSerialChannel.html#z349_0s5">SpaceParity</a><br> }</td></tr><tr><td> </td><td><font size=-1><em>Configuration of serial port parity options.</em> <a href="#z349_0">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> { <a class="el" href="classPSerialChannel.html#z349_1s6">DefaultFlowControl</a>, <a class="el" href="classPSerialChannel.html#z349_1s7">NoFlowControl</a>, <a class="el" href="classPSerialChannel.html#z349_1s8">XonXoff</a>, <a class="el" href="classPSerialChannel.html#z349_1s9">RtsCts</a> }</td></tr><tr><td> </td><td><font size=-1><em>Configuration of serial port flow control options.</em> <a href="#z349_1">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z349_2">PSerialChannel</a> ()</td></tr><tr><td> </td><td><font size=-1><em>Create a new serial channel object, but do not open it.</em> <a href="#z349_2"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z349_3">PSerialChannel</a> (const <a class="el" href="classPString.html">PString</a> &port, DWORD speed=0, BYTE data=0, <a class="el" href="classPSerialChannel.html#z349_0">Parity</a> parity=DefaultParity, BYTE stop=0, <a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> inputFlow=DefaultFlowControl, <a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> outputFlow=DefaultFlowControl)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z349_4">PSerialChannel</a> (<a class="el" href="classPConfig.html">PConfig</a> &cfg)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z349_5">~PSerialChannel</a> ()</td></tr><tr><td> </td><td><font size=-1><em>Close the serial channel on destruction.</em> <a href="#z349_5"></a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Open functions</h2></td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z351_0">Open</a> (const <a class="el" href="classPString.html">PString</a> &port, DWORD speed=0, BYTE data=0, <a class="el" href="classPSerialChannel.html#z349_0">Parity</a> parity=DefaultParity, BYTE stop=0, <a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> inputFlow=DefaultFlowControl, <a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> outputFlow=DefaultFlowControl)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z351_1">Open</a> (<a class="el" href="classPConfig.html">PConfig</a> &cfg)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPStringList.html">PStringList</a> </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z351_2">GetPortNames</a> ()</td></tr><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#a0">Close</a> ()</td></tr><tr><td colspan="2"><div class="groupHeader">Configuration functions</div></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_0">SetSpeed</a> (DWORD speed)</td></tr><tr><td nowrap align=right valign=top>DWORD </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_1">GetSpeed</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_2">SetDataBits</a> (BYTE data)</td></tr><tr><td nowrap align=right valign=top>BYTE </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_3">GetDataBits</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_4">SetParity</a> (<a class="el" href="classPSerialChannel.html#z349_0">Parity</a> parity)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPSerialChannel.html#z349_0">Parity</a> </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_5">GetParity</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_6">SetStopBits</a> (BYTE stop)</td></tr><tr><td nowrap align=right valign=top>BYTE </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_7">GetStopBits</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_8">SetInputFlowControl</a> (<a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> flowControl)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_9">GetInputFlowControl</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_10">SetOutputFlowControl</a> (<a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> flowControl)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_11">GetOutputFlowControl</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z353_12">SaveSettings</a> (<a class="el" href="classPConfig.html">PConfig</a> &cfg)</td></tr><tr><td colspan="2"><div class="groupHeader">Status functions</div></td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z355_0">SetDTR</a> (BOOL state=TRUE)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z355_1">ClearDTR</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z355_2">SetRTS</a> (BOOL state=TRUE)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z355_3">ClearRTS</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z355_4">SetBreak</a> (BOOL state=TRUE)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z355_5">ClearBreak</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z355_6">GetCTS</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z355_7">GetDSR</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z355_8">GetDCD</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSerialChannel.html#z355_9">GetRing</a> ()</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>This class defines an I/O channel that communicates via a serial port. This is usually an RS-232 port. <p><hr><h2>Member Enumeration Documentation</h2><a name="z349_1" doxytag="PSerialChannel::FlowControl"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum PSerialChannel::FlowControl </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Configuration of serial port flow control options.<p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="z349_1s6" doxytag="DefaultFlowControl"></a><em>DefaultFlowControl</em></em> </td><td>Use the default flow control, ie do not change it.</td></tr><tr><td valign=top><em><a name="z349_1s7" doxytag="NoFlowControl"></a><em>NoFlowControl</em></em> </td><td>Set the port for no flow control.</td></tr><tr><td valign=top><em><a name="z349_1s8" doxytag="XonXoff"></a><em>XonXoff</em></em> </td><td>Set the port for software or XON/XOFF flow control.</td></tr><tr><td valign=top><em><a name="z349_1s9" doxytag="RtsCts"></a><em>RtsCts</em></em> </td><td>Set the port for hardware or RTS/CTS flow control.</td></tr></table></dl> </td> </tr></table><a name="z349_0" doxytag="PSerialChannel::Parity"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum PSerialChannel::Parity </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Configuration of serial port parity options.<p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="z349_0s0" doxytag="DefaultParity"></a><em>DefaultParity</em></em> </td><td>Use the default parity, ie do not change it.</td></tr><tr><td valign=top><em><a name="z349_0s1" doxytag="NoParity"></a><em>NoParity</em></em> </td><td>Set the port for no parity bit.</td></tr><tr><td valign=top><em><a name="z349_0s2" doxytag="EvenParity"></a><em>EvenParity</em></em> </td><td>Set the port to generate parity and make it even.</td></tr><tr><td valign=top><em><a name="z349_0s3" doxytag="OddParity"></a><em>OddParity</em></em> </td><td>Set the port to generate parity and make it odd.</td></tr><tr><td valign=top><em><a name="z349_0s4" doxytag="MarkParity"></a><em>MarkParity</em></em> </td><td>Set the port parity bit to mark only.</td></tr><tr><td valign=top><em><a name="z349_0s5" doxytag="SpaceParity"></a><em>SpaceParity</em></em> </td><td>Set the port parity bit to space only.</td></tr></table></dl> </td> </tr></table><hr><h2>Constructor & Destructor Documentation</h2><a name="z349_2" doxytag="PSerialChannel::PSerialChannel"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PSerialChannel::PSerialChannel </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Create a new serial channel object, but do not open it.<p> </td> </tr></table><a name="z349_3" doxytag="PSerialChannel::PSerialChannel"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PSerialChannel::PSerialChannel </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> & </td> <td class="mdname" nowrap> <em>port</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>DWORD </td> <td class="mdname" nowrap> <em>speed</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>BYTE </td> <td class="mdname" nowrap> <em>data</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="classPSerialChannel.html#z349_0">Parity</a> </td> <td class="mdname" nowrap> <em>parity</em> = DefaultParity, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>BYTE </td> <td class="mdname" nowrap> <em>stop</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> </td> <td class="mdname" nowrap> <em>inputFlow</em> = DefaultFlowControl, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> </td> <td class="mdname" nowrap> <em>outputFlow</em> = DefaultFlowControl</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Create a serial channal. The channel is opened it on the specified port and with the specified attributes. <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>speed</em> </td><td>The name of the serial port to connect to. This is a platform dependent string and woiuld rarely be a literal. The static function <a class="el" href="classPSerialChannel.html#z351_2">GetPortNames()</a># can be used to find the platforms serial ports. </td></tr><tr><td valign=top><em>data</em> </td><td>Serial port speed or baud rate. The actual values possible here are platform dependent, but the standard value of 300, 1200, 2400, 4800, 9600, 19200, 38400 always be legal. </td></tr><tr><td valign=top><em>parity</em> </td><td>Number of data bits for serial port. The actual values possible here are platform dependent, but 7 and 8 should always be legal. </td></tr><tr><td valign=top><em>stop</em> </td><td>Parity for serial port. The actual values possible here are platform dependent, but <a class="el" href="classPSerialChannel.html#z349_0s1">NoParity</a>#, <a class="el" href="classPSerialChannel.html#z349_0s3">OddParity</a># and <a class="el" href="classPSerialChannel.html#z349_0s2">EvenParity</a># should always be legal. </td></tr><tr><td valign=top><em>inputFlow</em> </td><td>Number of stop bits for serial port. The actual values possible here are platform dependent, but 1 and 2 should always be legal. </td></tr><tr><td valign=top><em>outputFlow</em> </td><td>Flow control for data from the remote system into this conputer. Flow control for data from this conputer out to remote system. </td></tr></table></dl> </td> </tr></table><a name="z349_4" doxytag="PSerialChannel::PSerialChannel"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PSerialChannel::PSerialChannel </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPConfig.html">PConfig</a> & </td> <td class="mdname1" valign="top" nowrap> <em>cfg</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Create a serial channal. The channel is opened using attributes obtained from standard variables in the configuration file. Note that it assumed that the correct configuration file section is already set. <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>cfg</em> </td><td>Configuration file to read serial port attributes from. </td></tr></table></dl> </td> </tr></table><a name="z349_5" doxytag="PSerialChannel::~PSerialChannel"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PSerialChannel::~PSerialChannel </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -