|
发表于 2010-7-21 11:15:50
|
显示全部楼层
回复【71楼】jerico
如果我创建的是cformview的时候,好像下面的函数不起作用啊!?程序好像收不到wm_pcomm消息!
///////////////////////////串口中断回调函数//////////////////////////////////
void callback cntirq(int port)
{
if(::afxgetmainwnd())
{
if(::afxgetmainwnd()->m_hwnd)
{
::postmessage(::afxgetmainwnd()->m_hwnd,wm_pcomm,0,0);
}
}
}
-----------------------------------------------------------------------
我也遇到这个情况,经调试发现cntirq有被回调,但if(::afxgetmainwnd()) ,永远为0,无法向后发消息,
我修改了发送按扭的代码:
char buf[200];
int end=sio_read(Port,buf,100);
if(end)
{
CString a,b=L"";
GetDlgItemText(IDC_EDIT_RECMSG,b);
buf[end]=0;
for(int i=0;i<end;i++)
{
a.Format(L"%c",(unsigned char)buf);
b+=a;
}
SetDlgItemText(IDC_EDIT_RECMSG,b);
a.Format(L"%d",testirq);
b=a;
SetDlgItemText(IDC_EDIT_SEDMSG,b);
发现按发送时可以显示接收到数据,
希望有人指教一下。 |
|