3089|4

78

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

想用receive按钮控制是否接收数据,怎样调整它和ReadPortThread间的关系?? [复制链接]

void CMySerialFourDlg::OnReceive()
{   
        // TODO: Add your control notification handler code here
        ::MessageBox(NULL,_T("Datas will be received!"),_T("Notice!"),MB_ICONEXCLAMATION);
}
DWORD  WINAPI  ReadPortThread(LPVOID lpvoid)
{  
        WaitCommEvent (hPort, &dwCommModemStatus, 0);
        SetCommMask (hPort, EV_RXCHAR);                                 if (dwCommModemStatus & EV_RXCHAR)
  {.......
  }
想在点击Receive按钮后就执行ReadPortThread()判断dwCommModemStatus值,但是二者怎样协调?都是全局函数啊。先谢过了

最新回复

ReadPortThread 做成循环的线程,永远在判断事件标志,根据事件状态决定是否动作。 在OnReceive对事件进行标志。lz可以看看事件同步相关的文档  详情 回复 发表于 2008-10-6 23:23
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这两天心情很差,只能做这种无聊的事情。唉!
哪怕能帮到一个人也好。
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
楼主你可以这样解决,在CMySerialFourDlg类里添加成员函数ReadPortThread(LPVOID   lpvoid);,然后在点击Receive按钮后直接调用ReadPortThread函数。

 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

4
 

即:
在MySerialFourDlg.h中

class CMySerialFourDlg : public CDialog
{
public:
   DWORD  WINAPI ReadPortThread(LPVOID   lpvoid); //你添加
}  


在MySerialFourDlg.cpp中

DWORD WINAPI CMySerialFourDlg::ReadPortThread(LPVOID   lpvoid)
{     
     WaitCommEvent   (hPort,   &dwCommModemStatus,   0);
     SetCommMask   (hPort,   EV_RXCHAR);  
     if(dwCommModemStatus   &   EV_RXCHAR)   
     {.......
     }
}
void CMySerialFourDlg::OnReceive()   
{      
//   TODO:   Add   your   control   notification   handler   code   here
::MessageBox(NULL,_T( "Datas   will   be   received! "),_T( "Notice! "),MB_ICONEXCLAMATION);
  ReadPortThread();//直接调用
}

 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

5
 
ReadPortThread 做成循环的线程,永远在判断事件标志,根据事件状态决定是否动作。
在OnReceive对事件进行标志。lz可以看看事件同步相关的文档
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表