在一个线程中我用
hPort[PortNo] = CreateFile(lpszPortName,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
打开串口,并且有个这个判断:
if (hPort[PortNo] == INVALID_HANDLE_VALUE)
{
// Could not open the port.
neterrormsg1("不能打开端口 COM", PortNo + 1);//majun update
return FALSE;
}
(以上是放在函数SerialPortInitialize中)
void neterrormsg(LPSTR cp)
{
char buf[128];
wsprintf(buf,"%s(%d)",(LPSTR)cp,WSAGetLastError());
AfxMessageBox(buf);
}
当我在某个地方改变了一个“波特率”的设置,然后重新调用函数SerialPortInitialize这时提示"不能打开端口 COM 1`"请问这是什么原因造成的,我怎么可以重新成功打开串口????
hPort[PortNo] = CreateFile(lpszPortName,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
打开串口,并且有个这个判断:
if (hPort[PortNo] == INVALID_HANDLE_VALUE)
{
// Could not open the port.
neterrormsg1("不能打开端口 COM", PortNo + 1);//majun update
return FALSE;
}
(以上是放在函数SerialPortInitialize中)
void neterrormsg(LPSTR cp)
{
char buf[128];
wsprintf(buf,"%s(%d)",(LPSTR)cp,WSAGetLastError());
AfxMessageBox(buf);
}
当我在某个地方改变了一个“波特率”的设置,然后重新调用函数SerialPortInitialize这时提示"不能打开端口 COM 1`"请问这是什么原因造成的,我怎么可以重新成功打开串口????
解决方案 »
- 关于send函数和sendto函数的char *参数
- 用directshow 做视频采集开发,需要包含哪些文件
- 一个CListCtrl排序的问题,望高手帮忙看一下问题所在!!
- 网络繁忙的时候应该客户端该如何向服务器端发送数据?
- 请问如何为程序注册系统快捷键?
- 学ATL者的困惑~~~高手请进!!!
- 程序在XP下运行平均每秒会增加4K的内存,但在WIN7下运行是平均每秒几十K,求原因
- VC6中该如何使用duilib?
- vc开发数据库中,ODBC和ADO,到底谁更好一些
- 珠海“易初”分司,总部在北京,开发部在珠海,哪位知道这个公司的具体情况,麻烦介绍一下:)
- deque的内存是不是连续的?
- 关于存储过程的问题,请哪位高手回答!
LPCTSTR lpFileName, // pointer to name of the file
DWORD dwDesiredAccess, // access (read-write) mode
DWORD dwShareMode, // share mode
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // pointer to security attributes
DWORD dwCreationDistribution, // how to create
DWORD dwFlagsAndAttributes, // file attributes
HANDLE hTemplateFile // handle to file with attributes to copy
);
lpFileName: 指明串口制备,例:COM1,COM2
dwDesiredAccess: 指明串口存取方式,例:GENERIC_READ|GENERIC_WRITE
dwShareMode: 指明串口共享方式
lpSecurityAttributes: 指明串口的安全属性结构,NULL为缺省安全属性
dwCreateionDistribution: 必须为OPEN_EXISTIN
dwFlagAndAttributes: 对串口唯一有意义的是FILE_FLAG_OVERLAPPED
hTemplateFile: 必须为NULL