2014.10.6

每天进步一点点!

关于MFC中线程的问题,这里首先链接一个网址,其中讲述了线程中CreateEvent和SetEvent及WaitForSingleObject的用法

http://chinaxyw.iteye.com/blog/548622


下面自己总结一下,其中讲述的内容,方便自己理解:
CreateEvent:创建或打开一个命名的或无名的事件对象。EVENT有两种状态:发信号,不发信号。

SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信号与不发信号。

当你创建一个线程时,其实那个线程是一个循环,不是只运行一次的,那如果这样,这个死循环里要找到合适的条件退出那个死循环,怎样实现呢?

在Windows里往往采用事件的方式(也还有别的方式),原理是这样的,在那个死循环里不断地使用WaitForSingleObject函数来检查事件是否满足,满足就退出线程,不满足就继续运行。


今天总算搞清楚师兄程序的结构了,首先说说串口接收数据的形式。

最开始通过建立各种类的对象,将串口的初始化直接做好了,接下来,在按键控制函数中,发送读写指令。

读线程在最开始的初始化时候已经做好了,所以读操作位多线程操作,在读的过程中,读指令ReadFile函数要读写69000个数据,其实相机发送的数据并没有这么多,这么操作知识为了可以将所有的数据读出来,儿实际读写的数据个数将放在参数dwLength中(PSerialPort,cpp),并将该参数最终传递给参数length,表示实际读到的数据长度。

最后根据读到的数据长度,判断本次读到的数据是与哪个指令相配的,并最后做不同的处理。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值