串口通信的问题
- C/C++ code
//下位机部份代码 switch (yRead) { case 'V' : // Vol fnSendData (255) ; break ;//上位机部份代码void CMultimeterDlg::OnCommMscomm(){ // TODO: Add your message handler code here VARIANT vrt ; CString str ; if (m_ctrlMScomm.get_CommEvent () == 2) { vrt = m_ctrlMScomm.get_Input () ; str = vrt.bstrVal ; GetDlgItem (IDC_SHOW) ->SetWindowTextW (str) ; }}//发送方式是文本方式m_ctrlMScomm.put_InputMode (0) ;当我发送V时,单片机fnSendData (64) ;IDC_SHOW显示该ASCii码对应得字符,但是下位机改成fnSendData (255); 就不显示了,是因为ascii码最高到127么?
关键的来了,下位机是fnSendData (255); 的时候,我的上位机不要显示ascii码,想显示255或0xff怎么办。[color=#FF0000][/color]
[解决办法]
str = vrt.bstrVal ;
这句改成vrt的字节类型就行了(我忘了具体名了,就象你的字符型是:bstrval,它的字节好象类似byteVal,可能不对,你可以查到具体是什么名字,没有字节类型就改成short,这个我记得肯定有),其实数据上位机已收到了,只不过显示的事,