自-windows ce嵌入式高级编程及其实例详解10 .doc
文本预览下载声明
第10章 串口编程
串口是计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,因此应用
非常广泛。例如在工业自动化中,很多智能采集设备都是采用串口方式和PC机进行通讯。在
Windows CE嵌入式电脑中,串口依然是和外部设备进行通讯的重要方式,例如GPS设备。目
前很多PDA都集成了蓝牙通讯功能,可以通过设置蓝牙通讯方式为串口方式,来和另外一端
蓝牙设备进行通讯。作为一名Windows CE程序编写人员,掌握串口编程知识,将会为日后工
作提供极大的便利。
本章主要包括如下内容:
· 串口概述
· 串口编程APl函数介绍
· 串口综合示例
·’GPS编程示例
10.1 串口概述
“串行通信”是指外设和计算机间使用两根数据信号线(另外需要地线,可能还需要控制
线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。
这种通信方式使用的数据线较少,在远距离通信中可以节约通信成本,而且其传输速度也不比
并行传输的速度慢。相反的,“并行通信”是指一条信息的各位数据被同时传送。并行通讯的
特点是:各数据位同时传送、传送速度快、效率高,但由于有多少数据位就需多少根数据线,
因此传送成本较高,比较适用于近距离(相距数米)的通讯。
目前较为常用的串口有9针串口(DB9)和25针串口(DB25),当通信距离较近时(12m),
可以使用电缆线直接连接标准RS232端口(RS422和RS485较远),若通信距离较远,则需附
加调制解调器(Modem)。
表10.1将简要说明DB9常用信号脚定义。
表10.1 DB9常用信号脚说明表
9针串口(DB9)
25针串口(DB25)
针号
功能说明
缩写
针号
功能说明
缩写
l
数据载波检测
DCD
8
数据载波检测
DCD
2
接收数据
RXD
3
接收数据
RXD
3
发送数据
TXD
2
发送数据
T)(D
4
数据终端准备
DTR
20
数据终端准备
DTR
5
信号地
GND
7
信号地
GND
续表
9针串口(DB9)
25针串口(DB25)
针号
功能说明
缩写
针号
功能说明
缩写
6
数据设备准备好
DSR
6
数据准备好
DSR
7
请求发送
RTS
4
请求发送
RTS
8
清除发送
CTS
5
清除发送
CTS
9
振铃指示
DELL
22
振铃指示
DELL
最简单且常用的接线方式是三线制接法,即地、接收数据和发送数据三脚相连,即只要有接
收数据针脚和发送针脚就能实现串口数据传输;对于同一个串口,只要接收脚和发送脚直接用线
相连,那么在此串口发送什么数据,该串口就可以接收什么数据。对于两个不同串口(不论是同
一台计算机的两个串El或分别是不同计算机的串13),均可以采用如表l0.2所示的接线方式。
表10.2不同串口接线方式表
9针一9针
25针-25针
9针-25针
2
3
3
2
2
2
3
2
2
3
3
3
5
5
7
7
5
7
对于
口硬件介
1.打
在访肛
开串口,有
函数打开目
码中,将赫
HANDL
第10章串口编程
353
在此需要说明的是,在CreateFile函数的参数中,共享参数必须设置为0,表示独占方式;
安全参数必须设置为NULL值;模板文件参数也必须被设置成NULL。
由于在Windows CE中,不支持重叠I/O模式,因此不能在参数dwFlagsAndAttributes中
传递 OVERLAPPED。 ’
如果打开串口成功,将返回打开串口的句柄,否则将返回INVALID HANDLE VALUE。
打开串口之后,串口就已经被独占了,因此当不再使用已打开的串口时,应及时关闭串
口,此时可以使用CloseHandle函数关闭串口。例如可以使用以下代码来关闭上面打开的串口:
BOOL bResult=CloseHandle(hComm);
2.配置串口
在使用串口和另外一个设备进行通讯时,一定要先设置串口的参数(波特率、奇偶校验、
数据位等),这些参数设置正确与否将直接影响是否能够和串口设备进行通讯。串口参数信息
一般由串口设备厂家提供。Windows CE中提供了GetCommState和SetCommState函数,分别
用于
显示全部