C语言编程:如何同时打开多个串口进行通信?

控制器为工控机,在VC++6.0环境下,单独打开一个串口进行RS232通信已经实现,但是如何做到三个串口同时打开进行通信,三路同时输出控制信号?求指导,谢谢!

可以两个方式:
1、如果是 MSComm控件方式可以加入三个控件分别控制;在OnComm事件里面接收数据;用m_Comm.SetOutput(COleVariant(m_SendData));发送数据;
2、把 MSComm控件 打包在一个类里面,自己写初始化和发送接收函数;追问

用的不是C++,那个不熟悉。项目中要求用的是C

追答

那你就必须对你每一个串口分别写初始化、发送接收和关闭处理函数。不用C++类,比较麻烦。
建议在test1.c写完整的串口处理函数,然后分别另存为test2.c和test3.c。再到后两个里面修改端口等参数。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-02-05
同样的方式打开啊,只是打开的端口和参数可能不一样。比如OpenPort("COM1",19200,8,0,0,0)
OpenPort("COM2",19200,8,0,0,0)
OpenPort("COM3",19200,8,0,0,0)
只不过接收处理需要有单独的函数本回答被提问者采纳
第2个回答  2015-02-05
关注这个问题
相似回答