SPComm属性详细解析.docx
- 文档编号:10773322
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:14
- 大小:19.64KB
SPComm属性详细解析.docx
《SPComm属性详细解析.docx》由会员分享,可在线阅读,更多相关《SPComm属性详细解析.docx(14页珍藏版)》请在冰豆网上搜索。
SPComm属性详细解析
SPComm属性详细解析
使用该组件一旦安装:
{使用该组件的基本步骤:
}
1)将一到'OnReceiveData'事件处理程序。
{1)添加''OnReceiveData'事件。
}
2)呼叫'StartComm'来打开端口。
{2)调用'StartComm'方法打开串口。
}
3)使用'WriteCommData'方法写入通讯端口。
{3)使用'WriteCommData'方法向串口写入(发送)数据。
}
4)呼叫'StopComm'关闭该端口。
{4)调用'StopComm'方法关闭串口}
物业
========
CommName:
字符串
该通讯端口的名称。
该通信端口被命名为'的COM1','COM2',...
这个通讯端口必须打开它时存在。
波特率:
DWORD的
此通讯端口波特率。
它必须是一个法律价值为您的
串行端口可以接受。
您可以更改此值时,通讯是开放的,
真正的波特率是立即改变。
ParityCheck:
布尔
指定是否启用奇偶校验。
如果这个成员是TRUE,
奇偶校验和错误执行报告
(对OnReceiveError处理)。
您可以更改此值时,商业是开放的。
Outx_CtsFlow:
布尔
是否CTS(清除到发送)指定的信号进行监控
输出流量控制。
如果这个成员是TRUE和CTS是关闭的,
输出被挂起,直到CTS是再次发送。
CTS是输入引脚。
你可以阅读它从MSR寄存器的状态。
这
通常连接到RTS管脚在另一端。
它通常用于硬件流控制,指示其他
如果最终被等待数据。
您可以更改此值时,商业是开放的。
CTS输入的|的另一端等待数据
------------+----------------------------------------
输入OFF|另一端将不会收到任何资料
Outx_DsrFlow:
布尔
是否指定的DSR(数据设置就绪)信号监控
输出流量控制。
如果这个成员是TRUE和DSR是关闭的,
输出被挂起,直到DSR是再次发送。
DSR是一个输入引脚。
你可以阅读它从MSR寄存器的状态。
这
通常连接到DTR引脚的另一端。
它通常用于硬件流控制,指示其他
到底是工作(活动,做好准备,等待数据...)
您可以更改此值时,商业是开放的。
DSR输入的|的另一端准备就绪,等待你的数据
------------+----------------------------------------------------
输入OFF|另一端是没有准备好,我们不能发送数据输出
DtrControl:
(DtrEnable,DtrDiable,DtrHandshake)
指定的DTR(数据终端就绪)流控制。
这个成员
可以是以下值之一:
值含义
-------------------------------------------------------------------
DtrDiableDTR线禁用该设备时
开了,留下它禁用。
DtrEnableDTR线启用该设备时
开了,树叶它。
DtrHandshake启用DTR握手。
当我们的通信端口被打开
和接收数据就绪,DTR为启用。
当
我们的通讯端口是暂停,关闭或有错误
(而不是清除),DTR为禁用。
如果握手启用,它是一个错误
应用程序使用Win32调整行
EscapeCommFunction功能。
DTR是一个输出引脚。
您可以设置它在MCR寄存器状态。
它通常连接到DSR路由针在另一端。
您可以更改此值时,商业是开放的。
DsrSensitivity:
布尔;
指定通讯驱动程序是否是敏感的
国家对DSR信号。
如果这个成员是TRUE,则驱动程序忽略
收到的字节,除非调制解调器的DSR输入线为高。
您可以更改此值时,商业是开放的。
真|忽略任何接收到的字节
-------+------------------------------
假|无
TxContinueOnXoff:
布尔;
指定是否传输时停止输入缓冲区已满
和司机已经转发了XoffChar字符。
如果这个成员
为TRUE,传输后继续输入缓冲区内已经到来
XoffLim字节被充分和驱动程序已经转发了
XoffChar字符停止接收字节。
如果这个成员为FALSE,
传输不继续下去,直到输入缓冲区内XonLim是
被空和司机已经转发了XonChar字节
人物恢复接待。
您可以更改此值时,商业是开放的。
真|启用或禁用transmisstion没有任何关系与
|输入缓冲区
-------+-------------------------------------------------------------
假|当XOFF是发送(输入缓冲区将满),停止传输。
|和停止继续下去,直到被发送的Xon(输入缓冲区为空)。
Outx_XonXoffFlow:
布尔
指定是否XON/XOFF流控制传输过程中使用。
如果这个成员是TRUE,传输字符时停止XoffChar
并开始接收时再XonChar字符接收。
您可以更改此值时,商业是开放的。
行动|收到的Xoff|收到的Xon
--------+--------------------+---------------------------
真|停止传输|恢复发送
|丢弃的Xoff字符|丢弃的Xon字符
--------+--------------------+------------------------------
假|阅读的Xoff字符|阅读中的Xon字符
Inx_XonXoffFlow:
布尔
指定是否XON/XOFF流控制过程中使用的接待。
如果这个成员是TRUE,则XoffChar字符发送时
输入缓冲区内XoffLim字节来被充分,以及
XonChar字符输入后,将发送缓冲区内XonLim来
字节为空。
您可以更改此值时,商业是开放的。
|输入缓冲区内出现
+-----------------------------+------------------------------
动作|XoffLim字节被全部|被空XonLim字节
--------+-----------------------------+------------------------------
真|的Xoff字符发送|发送的Xon字符
--------+-----------------------------+------------------------------
假|做什么|什么也不做
ReplaceWhenParityError:
布尔
是否与指定奇偶错误接收的字节被替换
所指定的字符ReplacedChar成员。
如果这个成员是
TRUE,而ParityCheck成员为TRUE,更换发生。
您可以更改此值时,商业是开放的。
IgnoreNullChar:
布尔
空字节指定是否被丢弃。
如果这个成员是TRUE,
空字节被丢弃时收到。
您可以更改此值时,商业是开放的。
RtsControl:
(RtsEnable,RtsDiable,RtsHandshake,TransmissionAvailableControl);
指定的RTS(请求发送)流控制。
如果此值为零,则默认为RTS_CONTROL_HANDSHAKE。
这个成员可以是下列值之一:
值含义
-------------------------------------------------------------------
RtsDiable禁用RTS线路时,该设备
打开,就让它禁用。
RtsEnable启用RTS线路时,该设备
打开和树叶它。
RtsHandshake启用转运站握手。
司机提高
RTS信号线时,“预输入”(输入)缓冲区
不到一个半满,降低了RTS线路
当缓冲区超过四分之三满。
如果握手启用,它是一个错误
申请调整使用的行
Win32的EscapeCommFunction功能。
输入缓冲区|小于1/2全|超过3/4满
--------------+--------------------+--------------------
转运站|输出设置|输出清晰
TransmissionAvailable
该RTS线路将启用指定
如果字节的传输可用。
后
所有缓冲的字节被发送后,RTS线路
将被禁用。
输出缓冲器|有可用字节|没有任何数据
---------------+---------------------+-----------------
转运站|输出设置|输出清晰
转运站是一个输出引脚。
您可以设置它在MCR寄存器状态。
它通常连接到CTS管脚在另一端。
您可以更改此值时,商业是开放的。
XonLimit:
字
指定允许的最小字节数在输入缓冲区
前XON字符发送。
您可以更改此值时,商业是开放的。
例如:
的输入缓冲区的大小是1000字节,XonLimit是100。
和XOFF字符已发送之前。
当在输入缓冲区中的字节从101到100,是XON字符
发送。
XoffLimit:
字
指定允许的最大字节数在输入缓冲区
前XOFF字符发送。
最大字节数
这是减去允许的大小值计算,
以字节为单位输入缓冲区。
您可以更改此值时,商业是开放的。
例如:
的输入缓冲区的大小是1000字节,XonLimit是100。
当在输入缓冲区字节从899到900人的Xoff字符
发送。
ByteSize:
(_5,_6,_7,_8)
在指定的字节数位传输和接收。
您可以更改此值时,商业是开放的。
奇偶:
(无,奇,偶,马克,空间)
指定要使用同等方案。
这个成员可以是一
以下值:
值含义
----------------------------
无无校验
奇怪的逻辑琛'1'位(数据位和校验位)为奇数
即使是逻辑'1'位(数据位和校验位)之和是偶数
面膜校验位总是逻辑'1'
空间校验位总是逻辑0
您可以更改此值时,商业是开放的。
StopBits:
(_1,_1_5,_2)
指定的停止位数使用。
您可以更改此值时,商业是开放的。
XonChar:
属于ANSIChar
指定XON字符为传播价值和
接待。
您可以更改此值时,商业是开放的。
XoffChar:
属于ANSIChar
指定为传送XOFF字符值和
接待。
您可以更改此值时,商业是开放的。
ReplacedChar:
属于ANSIChar
指定的字符的值,用来代替接收字节
有奇偶校验错误,当ReplaceWhenParityError成员是TRUE,并且
ParityCheck成员为TRUE。
您可以更改此值时,商业是开放的。
手柄:
THandle
在Comm文件句柄。
从'的CreateFile'函数获得在'StartComm'。
你可以使用另一个API操作它的Win32商科
SendDataEmpty:
布尔
真当发送缓冲区是空的,没有任何悬而未决需要在发送邮件
队列。
假如果发送缓冲区不为空或有需要在发送邮件
队列。
方法
======
程序StartComm
开始为这个通讯端口的通信。
如果失败,提高ECommsError例外,ECommsError.Message包含
下面的字符串:
'这个串行端口已经打开,
'错误打开串口:
'文件句柄不是一个通讯句柄'
'无法安装通讯缓冲器
'无法创建事件'
'无法创建读线程
'无法创建写线程
程序StopComm
停止并结束这个通讯端口的所有通信线程。
没有任何回报。
功能WriteCommData(pDataToWrite:
PChar类型;
dwSizeofDataToWrite:
字):
布尔
发送一个字符串到写线程写入通讯。
这个子程序将立即返回。
发送操作将
做背景。
参数:
pszStringToWrite-字符串写入通讯端口。
nSizeofStringToWrite-对pszStringToWrite长度。
回报:
TRUE:
如果写线程的PostMessage是成功的。
FALSE:
如果PostMessage失败或写线程不存在。
功能GetModemState:
DWORD的;
获取并返回现在的现代国家。
它们是现代国家
输入引脚从海洋科学研究。
返回值可以是一个或更多的以下代码:
值含义
---------------------------------------------------------------------
MS_CTS_ON的CTS(明确的发送)信号上。
MS_DSR_ON的DSR(数据设置就绪)信号上。
MS_RING_ON环信号指示灯亮。
MS_RLSD_ON的资料摘要(接收线路信号检测)信号亮起。
该函数失败,如果硬件不支持
控制寄存器的值。
事件处理程序
=============
OnReceiveData:
程序(发件人:
TObject;
缓冲区:
指针;
进行缓冲:
字)物体
当
1。
输入缓冲区中包含接收到的数据和
2。
超过限额的大小或
3。
读取超时
事件处理程序被调用
发件人:
指向TComm对象提出这个要求
缓冲区:
缓冲区,包含收到的数据
进行缓冲:
接收数据缓冲区的大小
OnReceiveError:
程序(发件人:
TObject;EventMask:
DWORD的)物体
当错误happend在接收,事件处理程序被调用。
发件人:
指向TComm对象提出这个要求
EventMask:
从ClearCommError获得的价值在'HandleCommEvent'
一个32位变量,充满了说明面具
类型的错误。
这个参数可以是一个或多个
以下错误代码:
值含义
---------------------------------------------------------------------
CE_BREAK硬件检测到一个中断条件。
(现在不支持)
CE_DNS视窗95只:
并行设备没有被选中。
CE_FRAME硬件检测到帧错误。
CE_IOE一个I/O错误发生在与设备通信。
CE_MODE所请求的模式是不支持,或hFile参数
是无效的。
如果这个值被指定,它是唯一
有效的错误。
CE_OOP视窗95只:
并行设备出来的信号,这是
纸。
CE_OVERRUN一个字符缓冲区溢出发生。
下一个字符
丢失。
CE_PTO视窗95只:
甲超时发生在一个平行的设备。
CE_RXOVER输入缓冲区溢出。
有或者没有
房间在输入缓冲区,或字符后收到
结尾的文件(EOF)字符。
(第二个条件是不可能发生的Win32下)
CE_RXPARITY硬件检测到奇偶错误。
(不支持)
CE_TXFULL的应用程序试图发送一个字符,但
输出缓冲区已满。
(不支持)
OnRequestHangup:
程序(发件人:
TObject)物体;
当程序异常终止,该事件处理程序
调用。
OnModemStateChange:
程序(发件人:
TObject;ModemEvent:
DWORD的)物体
当调制解调器的资料摘要(CD)的变化状态(高“-”低)或环指标
信号检测,此事件处理程序
调用。
发件人:
指向TComm对象提出这个要求
ModemEvent:
一个32位变量,充满了一种指示面具
是什么使这一呼吁。
这个参数可以是一个或多个
下面的代码:
值含义
---------------------------------------------------------------------
ME_CTS的CTS(明确的发送)信号改变状态。
(支持在未来,不支持现在)
ME_DSR的DSR(数据设置就绪)信号改变状态。
(支持在未来,不支持现在)
ME_RING环指示信号检测。
ME_RLSD的资料摘要(接收线路信号检测)信号改变
状态。
呼叫GetModemState方法获取现代国家的真实情况。
合法性
==========
此组件是完全免费的(连同源代码)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SPComm 属性 详细 解析