vc读写串口程序
作者:cnfgg 日期:2009-08-07
引用内容vc读写串口的程序代码如下:
BOOL CSeries::SendData(BYTE *pBuf, int sizeBuf, unsigned long* pLength)
{
if(bInit==FALSE)
{
strErrorMsg="串口尚未打开!";
return FALSE;
}
if (WriteFile(m_hComm, // 文件句柄
pBuf, // 数据缓冲区指针
sizeBuf, // 字节数
pLength,NULL) == 0) // 接收成功发送数据长度的指针
{
strErrorMsg="向串口发送数据失败!";
return FALSE;
}
return TRUE;
}
BOOL CSeries::ReceiveData(BYTE *pBuf, int sizeBuf, unsigned long* pLength)
{
if(bInit==FALSE)
{
strErrorMsg="串口尚未打开!";
return FALSE;
}
if (ReadFile(m_hComm, // 句柄
pBuf, // 数据缓冲区指针
sizeBuf, // 字节数
pLength, // 指向已经读入的字节数
NULL) == 0) // 重叠I/O结构体
{
strErrorMsg="读取串口数据失败!";
return FALSE;
}
return TRUE;
}
UINT CSeries::ReadProc(LPVOID lpParam)
{
CSeries* pSeries = (CSeries*)lpParam;
while(::WaitForSingleObject(pSeries->m_hEndThreadEvent,10) != WAIT_OBJECT_0)
{
if(pSeries->pCallBackProc!=NULL)
{
BYTE cc[100];
unsigned long length;
pSeries->ReceiveData(cc, 100, &length);
if(length!=0)
{
pSeries->pCallBackProc(cc,length,pSeries->pVoid);
}
}
}
return 0;
}
评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇

文章来自:
Tags:
相关日志: