9. 串行通讯的RS - 232
用Borland C + + Builder不包含任何对象或RS232通信控制,所以你必须找到第三方的资源来履行这一职能。 RS232串行通信可以实现许多不同的方法可以访问Windows的API(努力工作,复杂的),您可以安装Visual Basic 的ActiveX MsComm32.ocx的 ,也可以使用生成器的控制器开发C + +的。在我们的例子中,我们将使用一个小型控制免费陈开发的胜利者。
用Borland C + + Builder中串行端口组件
方法:
无效的Open();开放式通讯端口
无效的close();关闭通信端口
布尔启用();国家通讯端口
诠释写(字符缓冲区[],DWORD的计数);写入输出缓冲区
诠释阅读(字符缓冲区[],DWORD的计数);读取输入缓冲区
InQueCount诠释(),在输入缓冲区数或字节,-1 =口关闭
OutQueCount诠释();号码或在输出字节的缓冲区,-1 =口关闭
PurgeIn无效();清洁输入缓冲器
PurgeOut无效();清洁输出缓冲器
/ /函数} {商业逃生
SetDTRState无效(布尔州);
SetRTSState无效(布尔州);
SetBREAKState无效(布尔州);
SetXONState无效(布尔州);
UpdateDataControlBlock无效();
TComm性质
波特率 (波特率)
br110,BR300,br600,br1200,br2400,br4800,br9600,br14400,br19200,br38400,br56000,br57600,br115200,br128000,br256000
数据位 (数据位)
da4,Qa5,DA6,DA7,DA8,
的DeviceName(通讯端口的名称)
的COM1,Com2 ...
EventChars
FlowControl(流量控制)
fcNone,fcCTS,fcDTR,fcSoftware,fcDefault
MonitorEvents(监测事件)
选项
coParityCheck,coDsrSensitivity,coIgnoreXOff,coErrorChar,coNullStrip
奇偶校验 (校验)
Panon,paOdd,paEven,paMark,PASPAC
ReadBufSize(读缓冲区大小)
4096
ReadTimeout
1000
StopBits(停止位)
SB10的SB 15,SB20
SuspendTime
5
WriteBufSize(写缓冲区大小)
2048
WriteTimeout(脚本超时)
1000

的RS - 232 TComm控制属性
活动
/ / OnBreak
无效__fastcall TForm1::Comm1Break(TObject *发件人){
}
/ / OnComStatEvent
无效__fastcall TForm1::Comm1ComStatEvent(TObject *发件人,DWORD的现状,COMSTAT COMSTAT){
}
/ / OnCts
无效__fastcall TForm1::Comm1Cts(TObject *发件人){
}
/ / OnDsr
无效__fastcall TForm1::Comm1Dsr(TObject *发件人){
}
/ / OnRing
无效__fastcall TForm1::Comm1Ring(TObject *发件人){
}
/ / OnRlsd
无效__fastcall TForm1::Comm1Rlsd(TObject *发件人){
}
/ /的OnError
无效__fastcall TForm1::Comm1Error(TObject *发件人,诠释错误){
}
/ / OnRxChar
无效__fastcall TForm1::Comm1RxChar(TObject *发件人,DWORD值计数){
}
/ / OnRxFlag;
无效__fastcall TForm1::Comm1RxFlag(TObject *发件人){
}
/ / OnTxEmpty;
无效__fastcall TForm1::Comm1TxEmpty(TObject *发件人){
}
指标:
布尔连接= {读= FConnected};
/ /} {通信状态标志
华贸布尔= {指数= 1,读= GetModemState};
布尔DSR路由= {指数= 2,读= GetModemState};
环布尔= {指数= 3,读= GetModemState};
资料摘要布尔= {指数= 4,读= GetModemState};
CtsHold布尔= {指数= 1,读= GetComState};
DsrHold布尔= {指数= 2,读= GetComState};
RlsdHold布尔= {指数= 3,读= GetComState};
XOffHold布尔= {指数= 4,读= GetComState};
XOffSent布尔= {指数= 5,读= GetComState};
__property手柄手柄= {读= FHandle};

活动TComm控制RS - 232通信