PB串口编程:详解9600bps通信参数与Mscomm事件处理

需积分: 9 3 下载量 123 浏览量 更新于2024-08-16 收藏 117KB PPT 举报
本文档主要探讨了在PowerBuilder (PB)中对串行通讯端口进行编程的一个实例。该应用涉及的是一个精密测量仪表,使用9针RS-232串口进行数据传输,具有特定的通信参数,包括波特率9600 bps,1位起始位,8位数据位,1位停止位,以及无校验。仪表每秒发送50个数据包,每个数据包包含4字节,其中第一字节是恒定的0F0H,作为数据开始标志,后两位字节采用BCD编码,高位在前,小数点固定在字节之间。负数标识由第四字节的第八位为1来表示。 在PB串口通信中,关键步骤包括: 1. **端口初始化**:设置通信端口(如COM1或COM2),配置波特率、校验方式、数据位数、停止位以及握手协议。例如,波特率为9600,奇偶校验为无,数据位数为8,停止位为1,且使用硬件握手。 2. **事件驱动编程**:使用Mscomm控件的Oncomm事件,监控和处理通信事件,包括打开端口、接收数据和数据处理。Oncomm事件通常在数据到达时触发,可根据commevent参数的不同值执行相应的操作。 3. **数据传输参数**: - 接收缓冲区(Inbuffersize):定义接收数据的容量,用于存储接收到的数据。 - 输入模式(Inputmode):设置为二进制模式以正确解析BCD编码数据。 - 读取操作:通过Inbuffercount获取待读取的字符数,使用Input读取缓冲区内容,以及设置读门限值(Rthreshold)以触发oncomm事件。 4. **数据发送参数**: - 传输缓冲区(Outbuffersize):设置发送数据的容量。 - 发送缓冲区状态(Outbuffercount):跟踪待发送的字符数。 - 写入操作:使用Output函数向端口发送数据,同时设置写门限值(Sthreshold)来触发oncomm事件。 5. **ONCOMM事件处理**:在这一事件中,开发者需要编写代码来解析接收到的数据,根据具体应用需求可能涉及到解码BCD编码、处理符号位等。 总结来说,本文档提供了如何在PB环境下设计和实现一个串口通信程序,涵盖了从端口配置到数据传输和事件处理的完整流程,适合对串口通信和PB编程有一定基础的开发人员参考。