虚拟串口vc++调试问题?
我的笔记本本身是没有COM口的,插上LM3S9B96嵌入式微控制器后,生成一个虚拟串口:利用这个虚拟串口,我根据书上的例子编了一个调试程序,调试时,数据发送不出去,不知道什么原因:
BOOL CMSCommTestDlg::OnInitDialog()
{
....
m_ctrlComm.SetCommPort(4);//选择COM4
m_ctrlComm.SetInputMode(1);//输入方式为二进制方式
m_ctrlComm.SetInBufferSize(1024);//设置串口接受缓冲区大小为1024字节
m_ctrlComm.SetOutBufferSize(512);//设置串口发送缓冲区大小为512字节
m_ctrlComm.SetSettings("9600,n,8,1");//波特率为9600,无校验,8位数据位,1位停止位
m_ctrlComm.SetPortOpen(TRUE);//打开串口
m_ctrlComm.SetRThreshold(1);
m_ctrlComm.SetInputLen(0);//设置当前接收区数据长度为0
m_ctrlComm.SetInBufferCount(0);
}
//..............................................
void CMSCommTestDlg::OnComm()
{
// TODO: Add your control notification handler code here
VARIANT variant;
COleSafeArray safearray;
LONG len,k;
BYTE rxdata[2048],bt;//设置BYTE数组
CString strtemp;
if(m_ctrlComm.GetCommEvent()==2)
{
variant=m_ctrlComm.GetInput();
safearray=variant;
len=safearray.GetOneDimSize();
for(k=0;k<len;k++)
safearray.GetElement(&k,rxdata+k);
for(k=0;k<len;k++)
{
bt=*(char*)(rxdata+k);
strtemp.Format("%c",bt);
m_strEditRXData+=strtemp;
}
}
UpdateData(FALSE);
}
//..............................................
void CMSCommTestDlg::OnButtonManualSend()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_ctrlComm.SetOutput(COleVariant(m_strEditTXData));
}
//..................................................
[ 本帖最后由 喜鹊王子 于 2013-1-15 16:15 编辑 ]