PB串口编程:详解9600bps通信参数与Mscomm事件处理
需积分: 9 49 浏览量
更新于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编程有一定基础的开发人员参考。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-05-21 上传
2022-09-20 上传
302 浏览量
122 浏览量
447 浏览量
2022-09-21 上传
魔屋
- 粉丝: 26
- 资源: 2万+
最新资源
- pawiis_pet_service
- misc.ka-开源
- rabbitmq 3.8.14版本可以用的延时插件
- EDSR(增强型深度超高分辨率)Matlab端口:EDSR(增强型深度超高分辨率)Matlab单图像超分辨率-matlab开发
- ICT-in-de-Wolken:ICT的信息库,位于沃尔肯(Wolken)
- valorant:圭亚那勇士
- FlutterCTipApp_03_实现滚动渐变的AppBar
- 媒体广告中的市场研究方法PPT
- MyFirstRep-Broadcast-Receiver-with-Vibrate-Alert-
- cursoAngular4:使用CodeSandbox创建
- SKIN_GCN:皮肤检测(使用GCN)
- grooming:美容网站 - Ignacio Prados
- constellation:适用于C ++的高性能线性代数库
- 元旦晚会策划案
- haxm-7.5.6.tar.gz
- nybble_core:使用Deployer创建的ARK.io区块链