CSerialPort 问题,100分, 关于sendmessge

dkkn 2003-12-12 02:38:38

我现用 CSerialPort ,应不是最新版,新版我看了太复杂.

现版本是用
unsigned char RXBuff;

::SendMessage((port->m_pOwner)->m_hWnd, WM_COMM_RXCHAR, (WPARAM) RXBuff, (LPARAM) port->m_nPortNr);

把readfile的内容传给主FORM, READFILE:
bResult = ReadFile(port->m_hComm, &RXBuff, 1, &BytesRead, &port->m_ov);

这个类里是一个CHAR 一个CHAR 读的,我想要发送者发的一串,怎么做.
我改成
char RXBuff[100];

::SendMessage((port->m_pOwner)->m_hWnd, WM_COMM_RXCHAR, (WPARAM) RXBuff, (LPARAM) port->m_nPortNr);

form里得到的是一个?号而已.

----------------------
没看明白吧,再来:

LONG CCommtestDlg::OnCommunication(WPARAM ch, LPARAM port)
{
if (port <= 0 || port > 4)
return -1;

if (ch == 13 && ((CButton*)GetDlgItem(IDC_CHECK5 + port - 1))->GetCheck())
{
m_ListBox[port-1].AddString(m_strReceived[port-1]);
m_ListBox[port-1].SetSel(m_ListBox[port-1].GetCount()-1, TRUE);
(m_strReceived[port-1]).Empty();
}
else if (((CButton*)GetDlgItem(IDC_CHECK5 + port - 1))->GetCheck())
m_strReceived[port-1] += (char)ch;
else
{
CString string;
string += (char)ch;
m_ListBox[port-1].AddString(string);
m_ListBox[port-1].SetSel(m_ListBox[port-1].GetCount()-1, TRUE);
}

return 0;
}

总之是一个一个的收到,我想要一个串,发送者发的那串,高人请说
...全文
6 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
NowCan 2003-12-14
static char RXBuff[100];
个人认为这样比较保险,

还有,你能不能把RXBuff用Lparam发送啊?WParam是不是16位的啊?不能确定.
  • 打赏
  • 举报
回复
相关推荐
发帖
硬件/系统
加入

2611

社区成员

VC/MFC 硬件/系统
申请成为版主
帖子事件
创建了帖子
2003-12-12 02:38
社区公告
暂无公告