WEB开发网
开发学院软件开发VC 使用Win32创建串口通讯程序 阅读

使用Win32创建串口通讯程序

 2010-06-29 20:42:40 来源:WEB开发网   
核心提示:创建端口句柄串口句柄是可以被用来存取的串口对象句柄,创建串口句柄的函数是CreateFile,使用Win32创建串口通讯程序(2),如下代码所示:handlePort_ = CreateFile(portName,// 端口设备: 默认 "COM1"GENERIC_READ | GENERIC_WR

创建端口句柄

串口句柄是可以被用来存取的串口对象句柄,创建串口句柄的函数是CreateFile,如下代码所示:

handlePort_ = CreateFile(portName, // 端口设备: 默认 "COM1"
GENERIC_READ | GENERIC_WRITE, // 设备打开模式: 允许读写
0,  // 不共享
NULL, // 默认安全设置
OPEN_EXISTING, // 打开方式:打开已经存在的端口
0, // 默认
NULL); // 默认

如图2所示,portName = "COM1": portName 示一个const char*变量,它指定想创建串口句柄的端口名称。

图2:CreateFile函数

获取配置

在控制设备中获取当前配置,配置中包含了用于设置串口通讯设备的参数。

可以用 GetCommState函数得到当前设备配置并用指定通讯设备的当前配置填充设备控制块(DCB结构),如下代码所示:

// 获取串口当前配置
if (GetCommState(handlePort_,&config_) == 0)
{
   AfxMessageBox("Get configuration port has problem.");
   return FALSE;
}

修改配置

当你已经在DCB结构中获取串口配置,你应该修改其中的参数,如下代码所示:

// 指定用户参数
config_.BaudRate = dcb.BaudRate; // 波特率
config_.StopBits = dcb.StopBits; // 停止位
config_.Parity = dcb.Parity;   // 奇偶校验
config_.ByteSize = dcb.ByteSize; // 数据位

上一页  1 2 3 4  下一页

Tags:使用 Win 创建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接