VC串口问题 最好先GetCommState,然后对DCB中需要改的成员修改,然后再SetCommStateDCB的成员很多,不止你写的那几个 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 前面的程序我没写出来,有getcommstate DCB dcb; //设备控制模块 CString strCom; strCom.Format("COM%d",m_intComPort); m_hCom = CreateFile(strCom,GENERIC_READ|GENERIC_WRITE, 0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED ,NULL); if(m_hCom == INVALID_HANDLE_VALUE) { AfxMessageBox("系统设备控制初始化失败!CControlCom::Init"); return FALSE; } BOOL Error = SetupComm(m_hCom,128,128); //创建输入输出队列缓存 if(!Error) { CloseHandle(m_hCom); return FALSE; } Error = GetCommState(m_hCom,&dcb); //得到串口状态 if(!Error) { CloseHandle(m_hCom); return FALSE; } //设置COM通信参数 dcb.BaudRate = 9600; dcb.ByteSize = 8; dcb.Parity = NOPARITY; dcb.StopBits = ONESTOPBIT; Error = SetCommState(m_hCom,&dcb); if(!Error) { CloseHandle(m_hCom); return FALSE; } EscapeCommFunction(m_hCom,SETRTS);//设置为发送状态 ByteSize使用6,7,8时,StopBits必须使用大于1的位,这是规定.看DCB结构帮助的Res sprintf(szBaud,"baud=%d parity=%c data=%d stop=%d",baud,parity,databits,stopsbits);if (GetCommState(m_hCom,&m_dcb)) { m_dcb.fRtsControl = RTS_CONTROL_ENABLE; // 打开设备时允许RTS线,并保持允许状态 if (BuildCommDCB(szBaud,&m_dcb)) DCB Dcb;GetCommState(hCom1, &Dcb);Dcb.BaudRate =9600;Dcb.ByteSize = 8;....SetCommState(hCom1, &Dcb); 短接TXD&RXD可以模拟发送和接收。 如何在两台机子上实现数据同步交互呢? 如何嵌套对话框啊? 急请人帮忙做两个程序,报酬优厚,有意者请入来看看! 想做个程序,能自动获取另一程序用ShellExcute传来的参数 写了一个自动重启服务器的程序,为何在屏保状态下无效? 请问怎么在一个视图中控制多个图像? 高分求教打印机控制问题 切分窗口,左边是formview ,右边是listview 很简单的问题,在线 ······求帮忙········ I want to write Chinese in the Japanese Win98!but I can't.WHY? 请问C/S架构的概念,跟B/S架构的关键区别(请具体说明)
strCom.Format("COM%d",m_intComPort);
m_hCom = CreateFile(strCom,GENERIC_READ|GENERIC_WRITE,
0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED ,NULL);
if(m_hCom == INVALID_HANDLE_VALUE)
{
AfxMessageBox("系统设备控制初始化失败!CControlCom::Init");
return FALSE;
}
BOOL Error = SetupComm(m_hCom,128,128); //创建输入输出队列缓存
if(!Error)
{
CloseHandle(m_hCom);
return FALSE;
} Error = GetCommState(m_hCom,&dcb); //得到串口状态 if(!Error)
{
CloseHandle(m_hCom);
return FALSE;
} //设置COM通信参数
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT; Error = SetCommState(m_hCom,&dcb);
if(!Error)
{
CloseHandle(m_hCom);
return FALSE;
} EscapeCommFunction(m_hCom,SETRTS);//设置为发送状态
ByteSize使用6,7,8时,StopBits必须使用大于1的位,这是规定.看DCB结构帮助的Res
if (GetCommState(m_hCom,&m_dcb))
{
m_dcb.fRtsControl = RTS_CONTROL_ENABLE; // 打开设备时允许RTS线,并保持允许状态
if (BuildCommDCB(szBaud,&m_dcb))
GetCommState(hCom1, &Dcb);
Dcb.BaudRate =9600;
Dcb.ByteSize = 8;
....
SetCommState(hCom1, &Dcb);