我想问下多线程和串口通信mscomm控件的问题
我现在是这么个情况,1、先用mscomm控件编写了串口通信,然后发数据,我想用多线程的方式来一组一组的发数据,部分程序如下:但是一运行就中断,不知道怎么弄,
2、还有一个问题就是我不知道我要用到多少子线程,不过在程序运行的时候就知道有多少组数据了,一组数据对应一个线程,我该怎么写?
其中一个子线程例子如下:
DWORD WINAPI Fun1Proc(LPVOID lpParameter)
{
WaitForSingleObject(hMutex,INFINITE);
while(TRUE)
{
char ch[100];
CTestDlg *pDlg=(CTestDlg*)lpParameter;
CByteArray Array;
const int count=3;
BYTE buf[count];
Array.RemoveAll();
Array.SetSize(count);
if(BST_UNCHECKED==pDlg->IsDlgButtonChecked(IDC_CHECK))
{
Sleep(waittime*1000);
while (pos11==pos1)
{
Sleep(100);
buf[0]=0xFF;
buf[1]=0x23;
buf[2]=0x11;
for(int i=0;i<count;i++)
Array.SetAt(i,buf[i]);
pDlg->m_mscomm.put_OutBufferCount(0);
pDlg->m_mscomm.put_Output(COleVariant(Array));//这里就一运行就一直中断
}
}
break;
}
ReleaseMutex(hMutex);
return 0;
}