C语言编程:如何同时打开多个串口进行通信?
控制器为工控机,在VC++6.0环境下,单独打开一个串口进行RS232通信已经实现,但是如何做到三个串口同时打开进行通信,三路同时输出控制信号?求指导,谢谢!...
控制器为工控机,在VC++6.0环境下,单独打开一个串口进行RS232通信已经实现,但是如何做到三个串口同时打开进行通信,三路同时输出控制信号?求指导,谢谢!
展开
3个回答
展开全部
可以两个方式:
1、如果是 MSComm控件方式可以加入三个控件分别控制;在OnComm事件里面接收数据;用m_Comm.SetOutput(COleVariant(m_SendData));发送数据;
2、把 MSComm控件 打包在一个类里面,自己写初始化和发送接收函数;
1、如果是 MSComm控件方式可以加入三个控件分别控制;在OnComm事件里面接收数据;用m_Comm.SetOutput(COleVariant(m_SendData));发送数据;
2、把 MSComm控件 打包在一个类里面,自己写初始化和发送接收函数;
追问
用的不是C++,那个不熟悉。项目中要求用的是C
追答
那你就必须对你每一个串口分别写初始化、发送接收和关闭处理函数。不用C++类,比较麻烦。
建议在test1.c写完整的串口处理函数,然后分别另存为test2.c和test3.c。再到后两个里面修改端口等参数。
展开全部
同样的方式打开啊,只是打开的端口和参数可能不一样。比如OpenPort("COM1",19200,8,0,0,0)
OpenPort("COM2",19200,8,0,0,0)
OpenPort("COM3",19200,8,0,0,0)
只不过接收处理需要有单独的函数
OpenPort("COM2",19200,8,0,0,0)
OpenPort("COM3",19200,8,0,0,0)
只不过接收处理需要有单独的函数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关注这个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询