关于“流”的思考一

来源:互联网 发布:vb小程序代码 编辑:程序博客网 时间:2024/06/04 19:09

最近一直在做一个台体控制软件的二次开发,设计的总体思路如下:



思考一:

控制设备可以是单片机、控制脚本等,通过RS232口和我的台体控制软件通信。为了使控制设备的协议

不因被控制设备不同而修改,因此在控制设备和台体控制软件跑自定义私有协议,台体控制软件根据不同

的被控制设备做协议转换。

同时为了满足控制设备可以同时控制多台不同的设备,自定义协议有地址段。


思考二:

台体控制软件怎么设计呢?

首先,台体控制软件接收控制设备的命令,做一个协议check和分发器,check到一帧数据,根据Address

分发到各个设备的命令queue。

然后各个被控制设备的返回数据,通过管道技术发送到串口的发送PIPE。


各个被控制设备模块,根据自己的协议做协议转换。同时建立一个command queue,不停的接收协议分发器,下发的数据。


MFC的STL库:

网上有很多资料,自己去查就好;


首先包含头文件:

#include <cstdlib>
#include <iostream>
#include <queue>



using namespace std;


然后

queue<type>                      name;


    /********************************
    队列的操作:
    back()返回最后一个元素
    empty()如果队列空则返回真
    front()返回第一个元素
    pop()删除第一个元素
    push()在末尾加入一个元素
    size()返回队列中元素的个数
    ********************************/

子线程传递消息:

#include <process.h>

用_beginThreadex创建线程,

1、在线程里调用GetMessage或者PeekMessgae,系统就会为线程自动创建消息队列;

2、给线程发送给消息:PostThreadMessage


这里面都是用队列去解决程序的解耦和分层,也就是用数据流去解决。以后有了心得再继续吧。。。。。。


阅读全文
0 0
原创粉丝点击