C++串口通信 5

if(m_ctrlComm.GetPortOpen())m_ctrlComm.SetPortOpen(FALSE);m_ctrlComm.SetCommPort(3);i... if(m_ctrlComm.GetPortOpen()) m_ctrlComm.SetPortOpen(FALSE);
m_ctrlComm.SetCommPort(3);
if( !m_ctrlComm.GetPortOpen())
m_ctrlComm.SetPortOpen(TRUE);
else
AfxMessageBox("cannot open serial port");
m_ctrlComm.SetSettings("2400,n,8,1");
m_ctrlComm.SetRThreshold(1);
m_ctrlComm.SetInputLen(0);
m_ctrlComm.GetInput();

VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048];
CString strtemp;
if(m_ctrlComm.GetCommEvent()==2)
{
variant_inp=m_ctrlComm.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);
for(k=0;k<len;k++)
{
BYTE bt=*(char*)(rxdata+k);
strtemp.Format("%c",bt);
m_strRXData+=strtemp;
}
}
UpdateData(FALSE);

UpdateData(TRUE); m_ctrlComm.SetOutput(COleVariant(m_strTXData));//发送数据
这程序中能发送数据不能接收数据 求助
展开
 我来答
video0000
2013-04-03 · TA获得超过349个赞
知道小有建树答主
回答量:445
采纳率:100%
帮助的人:253万
展开全部
接受数据一般用while()循环的,要不然收不到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-31
展开全部
推荐看书
Visual C++_Turbo C串口通信编程实践
更多追问追答
追问
额,有电子文档吗
追答
当然
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式