最近在修改一个串口程序,用的是cncomm三方的串口类,好像这个用的人也比较多。现在需要同时打开三个串口,接收数据,然后处理。同时打开三个串口是没问题,但是串口接收到一定数据的时候就会送出消息:
virtual void OnReceive()///EV_RXCHAR
{
if(::IsWindow(_hNotifyWnd))
::PostMessage(_hNotifyWnd, ON_COM_RECEIVE, WPARAM(_dwPort), LPARAM(0));
}同时消息映射(ON_MESSAGE(ON_COM_RECEIVE,OnCommRecv))触发接收方法。接收处理,实时显示,然后存入数据库。现在的问题是:1、三个串口应该是触发同一个接收方法,这个数据如何处理?
2、能不能不同串口触发不同的方法,这样数据处理起来要比较方便一点。
virtual void OnReceive()///EV_RXCHAR
{
if(::IsWindow(_hNotifyWnd))
::PostMessage(_hNotifyWnd, ON_COM_RECEIVE, WPARAM(_dwPort), LPARAM(0));
}同时消息映射(ON_MESSAGE(ON_COM_RECEIVE,OnCommRecv))触发接收方法。接收处理,实时显示,然后存入数据库。现在的问题是:1、三个串口应该是触发同一个接收方法,这个数据如何处理?
2、能不能不同串口触发不同的方法,这样数据处理起来要比较方便一点。
LRESULT XXX::OnComRecv(WPARAM wParam, LPARAM lParam)
{
switch((int)wParam)//端口号
{
case 1://串口1
……
break;
case 2://串口2
……
break;
……
}
囧,新手,没看两天mfc,这个问题真是菜了。