我有一个程序将与多个COM端口通信。截至目前,我将所有代码都放在一个文件中,这是半杂乱的。我怎么能组织它的方式,其他所有串行连接和连接参数都设置在其他地方,允许我只读取或写入主文件中的端口。
以下是我的意思
的配置示例HANDLE hSerial = CreateFile("COM3",GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
DCB dcbSerialParams = {0};
dcbSerialParams.DCBlength=sizeof(dcbSerialParams);
dcbSerialParams.BaudRate=CBR_9600;
dcbSerialParams.ByteSize=8;
dcbSerialParams.StopBits=ONESTOPBIT;
dcbSerialParams.Parity=NOPARITY;
答案 0 :(得分:0)
HANDLE hSerial = CreateFile("COM3",GENERIC_READ|GENERIC_WRITE,.......
每个com端口唯一独有的是名称“com3”,因此这是您需要提供给该功能的所有内容。 Createfile返回的句柄完全标识了打开的端口,这是你需要读/写端口并在完成后关闭它。
因此,了解函数并传入端口名称并返回句柄
答案 1 :(得分:0)
在另一个模块中定义'T_COMport'类。添加足够的构造函数参数来设置端口,以及读/写方法,_DCB结构,所有那些讨厌,烦人的串行端口设置调用以及使端口按需工作所需的任何线程或其他东西。对于rx数据或其他可能是一两个事件。像往常一样将模板放在头文件中,像往常一样将它包含在主应用程序中。
只需为每个端口创建一个实例,然后开始读/写东西。
RGDS, 马丁