使用Win32创建串口通讯程序
2010-06-29 20:42:40 来源:WEB开发网创建端口句柄
串口句柄是可以被用来存取的串口对象句柄,创建串口句柄的函数是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; // 数据位
更多精彩
赞助商链接