![]() |
|
| 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
![]() |
||
|
||
|
||||||||
用PB5 设计 串口通讯程序 | ||||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-7-3 ![]() |
||||||||
PowerBuilder5.0是一种面向对象的、具有可视图形界面的、快速的交互式开发工具,它通过不同数据库采用各自的专用接口或通过ODBC接口,同时支持多种关系数据库系统、支持多文档界面(MDI)、对象嵌入 与链接(OLE)、动态数据交换(DDE)。利用其独特的数据窗口对象,无须编写SQL语句,便可直接对数据库进行查询、修改、插入、删除、浏览、打印,以多种文件格式打开和存储数据,因此深受广大用户的欢迎。在实际应用过程中经常遇到PowerBuilder与其它设备通过串口进行通讯的程序设计如IC卡应用系统中需通过串口与IC卡读写器进行通讯;在控制系统中,需通过串口与下位机进行通讯。下面介绍PowerBuilder5.0中常用的两种串口通讯设计方法。
一、 调用Windows SDK函数进行串口通讯 1、Windows SDK函数介绍 OpenComm int OpenComm(LpszDevControl, CbInQueue,cbOutQueue)LPCSTR lpszdevcontro l 设备控制信息的地址 UINT CbInQueue 接受队列的大小(以字节为单位) UINT cbOutQueue 发送队列的大小返回:如调用成功,返回值标示此打开的设备否则其返回值小于0 ·CloseComm Int CloseComm(idComDev) Int idComDey 要关闭的设备 返回值:调用成功返回0,否则返回负值 ·WriteComm int WriteComm(idComDev,lpvBuf,cbWrite) int idComDev 通讯设备标示符 const void FAR * lpvBuf 数据缓存区地址 int ,cbWrite 要写的长度返回值:如果成功返回所写的字节数,否则返回值小于0 ·ReadComm Int ReadComm(idComDev,lpvBuf,cbRead) int idComDev 通讯设备标示符 const void FAR * lpvBuf 数据缓存区地址 int cbRead 要读的字节数返回值:如果成功返回所读的字节数,否则返回值小于0 ·FlushComm Int FluseComm(idComDev,fnQueue) Int idComDev 通讯设备标示符 Int fnQueue 要刷新的队列 返回值:成功时返回0,否则返回为负 2、示例: 为一人事管理系统中的查询窗口。如果想与被查询人拨打电话,可输入该人姓名,在输入过程中,数据窗口会显示满足要求的所有人姓名,双击该行即将该人电话号码显示于单行编辑窗内,然后按“拨号”按钮即可。 程序设计如下: 在窗口设计菜单中选取:Declare菜单?Declare External Function 输入:
二、利用Microsoft公司提供的通讯控件
9
7
3
1
2
4
8
:
2、 示例:
以上是一个基本的例子,在实际应用过程中应根据不同的情况进行不同的设计,如波特率、帧格式等。 9
7
3
1
2
4
8
:
|
||||||||
文章录入:admin 责任编辑:admin | ||||||||
【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|