PB串口通讯初始化参数详解

需积分: 9 3 下载量 198 浏览量 更新于2024-08-16 收藏 117KB PPT 举报
"本文主要介绍了如何在PowerBuilder (PB) 中使用串行通讯,通过Mscomm控件进行编程。文章提供了串口通讯初始化参数的详细解释,并提到了串口通信的读写参数以及ONCOMM事件的处理方法。" 在PB中进行串口通讯时,首先需要对串行通讯端口进行初始化。以下是初始化的关键参数: 1. **Commport**:这个参数用于设定通信的串口编号,通常选择1或2,分别对应COM1和COM2。范围在1到99之间。 2. **Settings**:设置通信的波特率(如9600、19200等),奇偶校验(n代表无校验,o代表奇校验,e代表偶校验),数据位(通常有5、6、7、8位),以及停止位(通常为1或2位)。 3. **Handshaking**:硬件握手协议的选择,包括: - 0:不进行流量控制。 - 1:在数据中嵌入特殊字符来控制。 - 2:通过硬件RTS信号线自动控制流量。 - 3:同时使用嵌入字符和硬件RTS控制。 4. **Eofenable**:如果设置为true,那么当检测到输入中出现EOF(文件结束符)时,会停止输入并触发oncomm事件。 5. **Portopen**:此参数用于打开或关闭串口。 串口通信还包括读写参数: - **Inbuffersize**:定义接收缓冲区的大小,用于存储接收到的数据。 - **Inputmode**:决定接收数据的方式,0表示以文本形式,1表示以二进制形式。 - **Inbuffercount**:返回当前缓冲区中已接收但未被处理的字符数量。 - **Rthreshold**:读门限值,当接收缓冲区中的字节数达到或超过这个值时,触发oncomm事件。 - **Inputlen**:指定从接收缓冲区读取的字符数。 - **Input**:用于将缓冲区中的数据读取到变量中。 - **Outbuffersize**:设置发送缓冲区的大小,用于暂存待发送的数据。 - **Outbuffercount**:返回发送缓冲区中等待发送的字符数。 - **Sthreshold**:写门限值,当发送缓冲区的字节数达到或超过这个值时,触发oncomm事件。 - **Output**:用于向串口写入数据。 在编程中,**ONCOMM**事件扮演着重要角色。该事件可以捕捉并处理通信中的各种事件,比如数据的读写完成。通过检查`Commevent`标志,我们可以得知当前事件的类型,例如输出缓冲区字节数小于等于写门限值,或者输入缓冲区有新数据到达。 通过上述参数的配置和事件处理,PB中的串行通讯能够实现与外部设备的有效通信,确保数据的准确传输和流量控制。在实际应用中,开发者可以根据具体需求调整这些参数,以适应不同的通信场景。