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;
}

总之是一个一个的收到,我想要一个串,发送者发的那串,高人请说
...全文
50 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
NowCan 2003-12-14
  • 打赏
  • 举报
回复
static char RXBuff[100];
个人认为这样比较保险,

还有,你能不能把RXBuff用Lparam发送啊?WParam是不是16位的啊?不能确定.

2,644

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧