MFC中根据注册表获取串口
来源:互联网 发布:jdbc oracle 的java 编辑:程序博客网 时间:2024/06/07 02:24
HANDLE hComm = CreateFile(Com_name, GENERIC_READ | GENERIC_WRITE, 0,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
//sett DCB
DCB dcb;
//Initial DCB
DefaultDCB(&dcb);
//get the default setting
GetCommState(hComm, &dcb);
//modify the setting parameters
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.StopBits = 0;
dcb.Parity = EVENPARITY;//2;//偶校验
if(!SetCommState( hComm, &dcb ))
{
//not success, close the handle
CloseHandle(hComm);
return ;
}
//setup the serial com's buffer sizes:RX_QUEU = 1024 TX_QUEU = 512
SetupComm(hComm, 1024, 512);
//set communication mask
SetCommMask(hComm, EV_RXFLAG | EV_RXCHAR | EV_BREAK | EV_TXEMPTY);
// clear the com buffer
PurgeComm(hComm, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR);
//set timeout construct
COMMTIMEOUTS CommTimeOuts;
//calculate method: ReadTotalTimeout = (ReadTotalTimeoutMultiplier * bytes_to_read)+ ReadToTaltimeoutConstant
CommTimeOuts.ReadIntervalTimeout = MAXDWORD;
CommTimeOuts.ReadTotalTimeoutMultiplier = 0;
CommTimeOuts.ReadTotalTimeoutConstant = 0;
//calculate mothod :WriteTotalTimeout = (WriteTotalTimeoutMultiplier * bytes_to_write)+ WriteToTaltimeoutConstant
CommTimeOuts.WriteTotalTimeoutMultiplier = 2 * CBR_9600 / dcb.BaudRate;
CommTimeOuts.WriteTotalTimeoutConstant = 25;
//set
SetCommTimeouts(hComm, &CommTimeOuts);
m_hComm = hComm;
is_com_open = TRUE;
AfxMessageBox(_T("打开成功"));
GetDlgItem(IDC_BUTTON3)->SetWindowText("关闭");
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
//sett DCB
DCB dcb;
//Initial DCB
DefaultDCB(&dcb);
//get the default setting
GetCommState(hComm, &dcb);
//modify the setting parameters
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.StopBits = 0;
dcb.Parity = EVENPARITY;//2;//偶校验
if(!SetCommState( hComm, &dcb ))
{
//not success, close the handle
CloseHandle(hComm);
return ;
}
//setup the serial com's buffer sizes:RX_QUEU = 1024 TX_QUEU = 512
SetupComm(hComm, 1024, 512);
//set communication mask
SetCommMask(hComm, EV_RXFLAG | EV_RXCHAR | EV_BREAK | EV_TXEMPTY);
// clear the com buffer
PurgeComm(hComm, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR);
//set timeout construct
COMMTIMEOUTS CommTimeOuts;
//calculate method: ReadTotalTimeout = (ReadTotalTimeoutMultiplier * bytes_to_read)+ ReadToTaltimeoutConstant
CommTimeOuts.ReadIntervalTimeout = MAXDWORD;
CommTimeOuts.ReadTotalTimeoutMultiplier = 0;
CommTimeOuts.ReadTotalTimeoutConstant = 0;
//calculate mothod :WriteTotalTimeout = (WriteTotalTimeoutMultiplier * bytes_to_write)+ WriteToTaltimeoutConstant
CommTimeOuts.WriteTotalTimeoutMultiplier = 2 * CBR_9600 / dcb.BaudRate;
CommTimeOuts.WriteTotalTimeoutConstant = 25;
//set
SetCommTimeouts(hComm, &CommTimeOuts);
m_hComm = hComm;
is_com_open = TRUE;
AfxMessageBox(_T("打开成功"));
GetDlgItem(IDC_BUTTON3)->SetWindowText("关闭");
阅读全文
0 0
- MFC中根据注册表获取串口
- MFC注册表枚举串口
- MFC中怎样根据文件名获取文件类型
- 根据注册表获取cpu信息
- 从注册表获取所有的串口
- 通过注册表获取当前所有串口号
- 从注册表获取所有的串口[Windows]
- 根据注册表获取软件安装路径
- mfc中注册表的使用
- MFC 通过注册表获取系统默认浏览器
- MFC中使用串口控件
- 串口编程-枚举遍历串口、获取PC所有串口名称、遍历注册表项、RegEnumValue用法
- 注册表的信息读取--获取系统串口数
- PC上从注册表获取当前的所有串口号
- MFC设置注册表中服务器信息
- 注册表处理之(根据注册表路径获取主键值和子键值)
- MFC中获取指针
- MFC中获取HDC
- jquery 显示隐藏字段及字段可读写控制
- ASP.NET Core(一)【介绍】
- SQLServer将数据导出为SQL脚本的方法
- Kotlin的简单使用练习
- 欢迎使用CSDN-markdown编辑器
- MFC中根据注册表获取串口
- bzoj 2213: [Poi2011]Difference 乱搞
- 使用命令行编译运行 Kotlin
- Anaconda 国内下载地址与镜像
- 35. Search Insert Position
- 使用Spire.Barcode程序库生成条形码、二维码
- 深入浅出JMS(四)--Spring和ActiveMQ整合的完整实例
- 0014、node 之状态码处理
- MHA实施参考