PB串口编程:详解9600bps通信参数与Mscomm事件处理
需积分: 9 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编程有一定基础的开发人员参考。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-05-21 上传
2022-09-20 上传
2016-04-18 上传
2022-03-09 上传
109 浏览量
2022-09-21 上传
魔屋
- 粉丝: 26
- 资源: 2万+
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析