当前位置: 网学 > 编程文档 > VB > 正文

基于Win95的VB5串口通信程序

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
如:Mscomm.Setting=“9600,N,8,1”。

---- 3)PortOpen: 打 开 或 关 闭 串 行 端 口, 格 式 为:Mscomm.PortOpen={TRUE|FALSE}。

---- 4) InBufferSize: 设 置 或 返 回 接 收 缓 冲 区 的 大 小, 缺 省 为1024 字 节。

---- 5) InBufferCount: 返 回 接 收 缓 冲 区 内 的 等 待 读 取 的 字 节 个 数, 可 通 过 设 置 该 属 性 为0 来 清 除 接 收 缓 冲 区。

---- 6) RThreshold: 该 属 性 为 一 阀 值, 它 确 定 当 接 收 缓 冲 区 内 字 节 个 数 达 到 或 超 过 该 值 后 就 产 生 代 码 为MSCOMM_EV_RECEIVE 的OnComm 事 件。

---- 7) InputLen: 设 置 或 返 回 接 收 缓 冲 区 内 用Input 读 入 的 个 数。 若 取0, 则INPUT 读 取 整 个 缓 冲 区 的 内 容。

---- 8) Input: 该 属 性 表 示 从 接 收 缓 冲 区 移 走 一 串 字 符。

---- 9) OutBufferSize: 设 置 或 返 回 发 送 缓 冲 区, 缺 省 为512 字 节。


---- 10) OutBufferCounter: 返 回 发 送 缓 冲 区 内 等 待 发 送 的 字 符 数, 可 用 来 清 空 缓 冲 区。

---- 11) Output: 向 发 送 缓 冲 区 传 送 一 字 符 串。

---- 12) EOFEnable: 若 置TRUE, 则 当 输 入 中 出 现EOF, 就 停 止 输 入 并 产 生OnComm 事 件。

---- 如 果 在 通 信 过 程 中 发 生 错 误 或 事 件, 就 会 引 发OnComm 事 件 并 且 改 变 属 性 值, 由CommEvent 属 性 代 码 反 映 错 误 类 型, 在 通 信 程 序 的 设 计 中 可 根 据 该 属 性 值 来 执 行 不 同 的 操 作, 以 下 是 部 分 属 性 常 数 值 及 其 含 义:

---- 1)ComEvSend: 其 值 为1, 发 送 缓 冲 区 的 内 容 少 于SThreshold 指 定 的 值。

---- 2) ComEvReceive: 其 值 为2, 接 收 缓 冲 区 内 字 符 数 达 到 RThreshold 值, 该 事 件 在 缓 冲 区 中 数 据 被 移 走 前 将 持 续 产 生。


---- 3) ComEventFrame: 其 值 为1004, 硬 件 检 测 到 帧 错 误。

---- 4) ComEventRxOver: 其 值 为1008, 接 收 缓 冲 区 溢 出。

---- 5) ComEventTxFull: 其 值 为1010, 发 送 缓 冲 区 溢 出。

---- 6) ComEventRxParity: 其 值 为1009, 奇 偶 校 验。

---- 7) ComEvEOF: 其 值 为7, 接 收 数 据 中 出 现 文 件 结 束(ASCII 码 为 26) 字 符。

程 序 样 例
---- 采 用Mscomm 控 件 实 现 串 口 通 信 时, 首 先 添 加 一Mscomm 控 件 到 窗 体 中, 该 控 件 一 般 不 在 通 用 工 具 窗 口 中, 而 是 需 通 过 菜 单 项“ 工 程(P) → 部 件(O)” 进 入 选 择 窗 口, 在 控 件tab 页 中 选 取Microsoft Comm Control 5.0 , 此 时 工 具 窗 口 中 出 现Mscomm 图 标, 即 可 被 使 用。
---- 以 下 是 事 件 驱 动 方 式 的 接 收 程 序 的 主 要 部 分: Private Sub getdatafromserial_Click()

---- CommonDialog1.InitDir = “c:\temp"

---- CommonDialog1.ShowSave

---- mainfrm.MSComm1.CommPort=1

---- hfile = FreeFile

---- ’ 打 开 存 储 接 收 数 据 的 文 件

---- Open CommonDialog1.filename For Output As #hfile

---- ’ 设 接 收 缓 冲 区 的 大 小, 可 按 量 确 定

---- mainfrm.MSComm1.InBufferSize = 4096

---- If Not mainfrm.MSComm1.PortOpen Then ’ 打 开 串 口

------ mainfrm.MSComm1.PortOpen = True

---- End If

---- If Err Then

---- MsgBox “Communcation port cannot be opened!!"

---- ’ 清 接 收 缓 冲 区

---- mainfrm.MSComm1.InBufferCount = 0

---- ’ 设 一 次 读 入 的 长 度, 可 根 据 数 据 格 式 设 置

---- mainfrm.MSComm1.InputLen = 77

---- ’ 设 置 接 收 事 件 触 发 的 阀 值

---- mainfrm.MSComm1.RThreshold

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号