实现条件:
需要实现对本地主机连接的多个串口设备进行轮询,或取其采样数据,现采用多个MSCOMM控件(数目与串口设备数目相同)开发实现方法
主程序运行后,通过读取设备的采样间隔时间设置定时器,在定时器内对不同设备发送指令,在OnComm事件相应函数中读取采样数据,请问这种设计思路是否可行,或有哪些需要改进的地方??

解决方案 »

  1.   

    可以,不过还可以采取多线程的方式,然后直接用createfile,readfile等来操作串口................
      

  2.   

    如果是采用 VC++ 编程,而且是多串口的,不推荐使用 MSCOMM32 控件;
    最好的方法是利用 Win32 API 函数直接读写串行口。
    我以前做过 8 个串口的,用的方法如下:
    主线程负责统筹和界面,然后每个串行口对应一个工作者线程;每个线程负责一个串行口,思路比较清晰。
    需要的知识点:1、Win32 API 读写串行口(分阻塞和非阻塞两种方式)2、多线程与多线程通讯
    下面是 Win32 API 读写串行口的入门级文章:http://www.vckbase.com/document/viewdoc/?id=1114
      

  3.   

    如果设备不是很多的话用控件也未尝不可,你的思路是可以的,如果很多的话,还是用api来的好一些。