基于
WinCE
的串口应用程序编写及测试
周东升,宋小倩
(安徽理工大学 计算机科学与工程学院,安徽 淮南
232001)
要:串口在嵌入式系统与
摘
非常麻烦。详细论述了如何对串口应用程序进行测试。
关键词:WinCE;串口;串口应用程序测试
中图分类号:TP273
文献标识码:A
PC
文章编号:1672-7800(2011)02-0012-02
通信时可以起到非常 重 要 的 作 用 ,但 是 对 于 串 口 应 用 程 序 的 测 试 却 因 为 种 种 原 因
引言
0
string str= Encoding.Default.GetString(arr,0,
bytesToRead);
串口也称为串行接口或串行通信接口
学习或开发中 可 以 深 刻 地 体 会 到 串 口 在 开 发 板 与
信过程中起了很好 的 作 用
序并非那么容 易
讲述如何实现对串口的操作
在实际嵌 入 式
,
通
然 而 编 写 和 测 试 串 口 应 用 程
的 特 点
本 文 将 结 合 实 际
WinCE
PC
PC
与
。
,
。
串口应用程序的编写
1
txtRecv.Text+= str;
}
发送
按钮单击事件对应的处理函数如下
“
”
:
_
Click(object send,EventArgs e)
void btnSend
{
byte[]arr = Encoding.Default.GetBytes(txt-
Send.txt);
port.Write(arr,0,arr.Length);
}
总体来说
在代码 中 已 经 对 编 码 进 行 了 处 理
使用
,
C#
开 发 串 口 应 用 程 序 非 常 简 单
方
、
在 中 文
,
Windows
WinCE
下显示中文没有任何问题
。
串口应用程序的测试
2
串口应用程序编写起来相当方便
但对串口应用 程 序
,
的测试远没有前面 那 样 轻 松
下 面 就 详 细 讨 论 笔 者 做 串
口应用程序测试过程 中 遇 到 的 问 题并 逐 一 给 出 可 行 的 解
决方案
。
。
2.1
开发板与
笔 者 使 用 的 开 发 板 是
PC
之间物理串口的测试
mini2440,
此 处 讨 论 开 发 板 与
PC
WinCE6.0。
连接来对物理串口进行测试
通过
USB
物理串口
线下载到开发板当中运行
开发板和
,
那么在
。
所使用的都是
端使用什么 工 具 呢? 当 然
测试之前
PC
。
1
在 开 发 板 上 移 植 了
之 间 使 用 实 际 串 口 线
将串口测试 程 序
,
测 试 当 中 使 用 的 是
PC
即想到要使用超级 终 端
几乎是必备的交互工具
为重要
打开超级终端
。
COM1。
,
大 部 分 人 会 立
在 嵌 入 式 开 发 过 程 中 超 级 终 端
。
在进行嵌入式系统移植过程 中 尤
,
在连 接 时 使 用 选 择
在
,
“COM1”。
下串口通信简介
下运行的程序
一 般 都 是 在
环 境
,
盘 等 下 载 到 嵌 入 式 设 备 中 运
Windows
。
便
和
线或
1.1 WinCE
在
下开发
行的
WinCE
再通过
,
文中 使 用
。
并使用
C#
CF),
CF
WinCE
1.2
U
USB
.NET Compact Framework (
进 行 串 口 应 用 程 序 开 发
简 称
由 于 在
。
下提供 了 专 门 的
类 来 操 作 串 口
下的串口应用程序相对来说会比较容易
SerialPort
,
.NET
.NET
所 以 开 发
。
串口应用程序的编写
在串口 应 用 程 序 中
接收区
“
文本框名为
”
控件
txtRecv,
”
alPort
出接收和发送部分的主要代码
名为
,
port,“
发送
发 送 区
文 本 框 名 为
,“
”
txtSend,
项 目 当 中 添 加 了 一 个
按 钮 名 为
Seri-
下 面 给
btnSend。
DataReceived
。
事 件
用 于 接 收
(
对 应 的 处
)
port
理函数如下
控件中
:
_
void port
DataReceived(object send,SerialDataRe-
ceivedEventArgs e)
{
int bytesToRead = port.BytesToRead;
byte[]arr= new byte[bytesToRead];
port.Read(arr,0,bytesToRead);
作者简介:周东升(1987-),男,安徽庐江人,安徽理工大学硕士研究生,研究方向为嵌入式系统;宋小倩(1987-),女,安 徽 泗 县 人,安
徽理工大学硕士研究生,研究方向为嵌入式系统。
第
期
2
周东升
宋小倩
,
基于
:
WinCE
的串口应用程序编写及测试
·31·
“
端口设置中
每秒位 数 选 择
,
口应用程序中
无
流控制选择
开发板端与
SerialPort
PC
在开发板端发送数据
会显示出来
的测试程序中也可以接收到
在
,
”;
。
“9600”,
控件的
这 个 波 特 率 值 要 与 串
数据
;
保持一致
其余保持默认就可以了
BaudRate
。
端都设置 好 之 后 就 可 以 进 行 测 试 了
。
中 的 超 级 终 端 软 件 界 面 中 就
在 开 发 板
无回显
PC
在超级终端中输入数据
(
),
。
2.2
开发板与
在开发 板 上 还 是 用
PC
之间物理串口的测试
2
节 的 那 个 测 试 程 序
对 于
2.1
PC
端是不是有更好的 选 择 呢 ?笔 者 一 开 始 也 没 有 多 想 就 用
超级 终 端
端 同 样 使 用 那个 测
试程序来测试也是可行的
后 来 想 想 也 试 验 了
PC
在
,
,
,
。
.NET CF
.NET CF
下也支持
(
.NET
前面 的 程 序 是 用
因 为 此 处 对
正好
,
和
可以运行
涉及硬件
序在
口的测试方式还是 挺 有 意 思 的
也不需要使用其他额外软件
在
上下载之后才能使用
Windows
Windows
。
之后的
WinCE
XP
。
,
它 在
.NET
SerialPort
)。
下 也
完 成 的
的 使 用 过 程 中并 未 直 接
类
所 以 同 一 程
,
这 种 对 物 理 串
并 不 需 要 更 改 任 何 代 码
,
但 它
,
需要从网
,
,
超级终端虽然很有用
系统中默认是不提供的
中都可 以 运 行
此处的测试方式根本就不需要超级终端
使 用 起 来 非 常方 便
并且也 不 需
,
同
而 直 接 使 用 测 试 程
。
,
在超级终端中输 入 汉 字 也 不 方 便
,
要设置波 特 率 或 数 据 流 控 制 等
时
序本身
在
前面两种方式都是使用物理串口进行测试
Windows
中测试串口应用程序
中运行时可以直接输入汉字
在
,
PC
,
2.3
。
在许 多 情
,
每 次 都 将 程 序 向 开
。
可 以 在 本 机 完 成 测 试
况下进行模拟测试 也 是 相 当 重 要 的
为 了 方 便 起 见
发板移植也挺麻烦
,
之后再将程序移植到开发板
,
。
在
PC
这样更加省时省力
,
中测 试 串 口 应 用 程序 并 非 那 么 容 易
与 前 面 的
台机器上有两个或以上的串口那么就会很容易做到
理也很简 单
只要将两个串口用串口线连接起来
可以完成 测 试
口
是没有串口的
如 果 一
其 原
,
物 理 串 口 测 试 类 似
PC
用前面类似的方 法 就
,
都 没 有 串
绝大多数笔记 本 也
或是因为主机箱上没有外接串口
,
不是没有外接而是根本就没有
,
而 现 实 情 况 是
现 在 很 多
WinCE
PC
与
。
,
。
,
。
。
,
基于这种情况
以虚拟串口软件
其中添加了一对虚拟串口
(
就需要使用虚拟串口进行测试 了
,
比 如
可
在
Virtual Serial Port Driver 6.0),
。
和
COM2
COM3。
添加完成之后
运 行 该 程 序 的 两 个 实 例
,
就可以使用前面的那个串口应用 程 序
,
另 一
其 中 一 个 使 用
。
COM2,
了
个使用
COM3。
2.4 WinCE
模拟器与
串口测试
PC
有 了 前 面 的 基 础 再 来 看 如 何 使 用
来进行串口测试可能会容易一点
PC
模拟器也 是 一 个 软 件
只 能 使 用 虚 拟 串 口
中 的 串 口 连 接 起来 呢 ? 方 法 是 让
WinCE
。
也 就 不 可 能 使 用 物 理
模 拟 器 的
而
,
。
WinCE
串口来测试 了
串口怎样与
模拟器 中 串 口 与
PC
,
模 拟 器 与
WinCE
串 口 做 个 映 射
。
模拟器的属性设置选项卡 中 选 择
PC
WinCE
可将
映射为
中的
Serial port 0
此 时 将 串 口 应 用 程 序 移 植 到
在
,
WinCE
端也运行一个 串 口 应 用 程 序 实 例
行
就可以与模拟器中的串口应用程序进行通信了
COM3。
PC
PC
。
请注意
在 模 拟 器 中 打 开 的 是
,
COM1。
WinCE
可 以 通 过 在 指 定
如
“Peripherals”,
模 拟 器 当 中 运
使 用
。
其 实
COM2
,COM1
对 应
Serial port 0(COM2
已经与
PC
中
对应于模拟 器 属 性 设 置 当 中 的
于
而
中
Serial port 1,
做了映射
依次类推
)。
所以
,
al port 0
中的
COM1。
PC
COM3
同时在虚拟串 口 软 件 中 已 经 设 置
COM3
为 连 接 在 一 起 的 串 口 对
模拟 器 中
中
与
WinCE
以使用它们进行串口应用程序测试
COM1
PC
(2.3
COM2
。
Seri-
COM3
也 就 相 当 于 模 拟 器
和
这 样 的 话
,
可
就 是 相 连 的
COM2
),
节
,
结束语
3
WinCE
本文给出了 基 于
的 串 口 应 用 程 序 的 编 写
并
,
对 于
给出笔者所掌握的 几 种 串 口 应 用 程 序 的 测 试 方 法
在串口应用程序测试 过 程 中 所 遇 到的 问 题 给 出 了 详 细 描
实践证明
文中给出的串口 应 用
述并一一给出解决方法
。
,
程序测试方法易学易用
可以解决串口应用程序测试 过 程
,
中的很多问题
。
。
参考文献:
[1]
[2]
[3]
谢屈波
.WinCE
下的串口通信[J].
电脑知识与技术,2010(3).
司 浩 乐
.Windows CE
下 的 串 口 驱 动 设 计 [J].
计 算 机 工 程,2008
(20).
张冬泉
.Windows CE
实 用 开 发 技 术 [M].
北 京:电 子 工 业 出 版 社,
[4]
[5]
.WinCE.NET
2006.
张正柱
现代电子技术,2010(6).
韩宝俊
.WinCE
计,2008(8).
下串口驱动分析 及 其 与
通 信 的 实 现 [J].
PC
下串口通信 模 型 设 计 与 实 现 [J].
计 算 机 工 程 与 设
(责任编辑:杜能钢)
Development and Test of WinCE-Based Serial Port Application
Abstract:Serial port is very important between the communication of embedded system and PC,while the test of serial
port application is inconvenient as various reasons.The article describes how to test serial port application for WinCE and
PC in detail.
Key Words:WinCE;Serial Port;Test Serial Port Application