MFC串口编程中遇到的问题,希望有高手帮忙解决!
本帖最后由 ydl1219 于 2013-03-20 09:25:02 编辑
WeighDlg m_WeighDlg;
if(m_WeighDlg.m_mscomm1.get_PortOpen())
{
CByteArray bytOutArr;
int m,n,k,h,l;
m=m_GongGongCanShuDlg.ReturnKongZhi();
n=m_GongGongCanShuDlg.ReturnHuanBan();
k=m_GongGongCanShuDlg.ReturnYunXu();
h=HIBYTE(m_PinPaiGuanLi.ReturnZhongLiangSet());
l=LOBYTE(m_PinPaiGuanLi.ReturnZhongLiangSet());
bytOutArr.Add(0xB0);
bytOutArr.Add(0x01);
bytOutArr.Add(0x09);
bytOutArr.Add(0x07);
bytOutArr.Add(m);
bytOutArr.Add(n);
bytOutArr.Add(k);
bytOutArr.Add(h);
bytOutArr.Add(l);
bytOutArr.Add(0x09);
bytOutArr.Add(0x0a);
bytOutArr.Add(0x0b);
bytOutArr.Add(m^n^k^h^l);
COleVariant varOut;
varOut=COleVariant(bytOutArr);
m_WeighDlg.m_mscomm1.put_Output(COleVariant(varOut));//发送
}
大概的的代码就是这样的,调试过程中也没有出现错误,可通过串口工具就是不能接收数据,我想问一下这是什么原因。这个问题又如何解决? mfc 串口编程 output 串口工具
[解决办法]
先用其它串口工具验证,确保你的PC与下位机的串口通讯是正常的。
[解决办法]
这样就只有单独跟踪调试了,有可能没有执行到put_Output。
[解决办法]
那就检查COleVariant(varOut)数据是否正常。