C++ MT166-和#x421;连接没有响应С++;图书馆
我有一台MT166-C自动售货机。我正在编写C++代码来管理分配器 在开发中使用SDK(附加)时,我遇到了一个问题。 要使用分配器,我打开COM端口。代码:C++ MT166-和#x421;连接没有响应С++;图书馆,c++,serial-port,cardreader,C++,Serial Port,Cardreader,我有一台MT166-C自动售货机。我正在编写C++代码来管理分配器 在开发中使用SDK(附加)时,我遇到了一个问题。 要使用分配器,我打开COM端口。代码: int input_port; string com_str = "\\\\.\\COM"; std::cin >> input_port; std::cout << "\nInput COM value: " << input_port << std::endl; com_str = c
int input_port;
string com_str = "\\\\.\\COM";
std::cin >> input_port;
std::cout << "\nInput COM value: " << input_port << std::endl;
com_str = com_str + to_string(input_port);
char* cstr = &com_str[0];
char* port_com = cstr;
HANDLE port = CommOpenWithBaut(port_com, 9600);
if (port == 0)
{
std::cout << "Cannot open connect!\n\n" << std::endl;
return -1;
}
与文件类似(MT166-C.docx-第3.1页)
作为回应,我得到了代码-1-没有通信。对于其他方法,情况也是一样的
我不明白为什么分配器没有应答(没有通信)。我将非常感谢任何帮助。
我通过rs232电缆或USB适配器rs232使用连接,无需更改
谢谢你抽出时间
您确定端口正确吗?你确定波特率应该是9600吗?谢谢,但问题已经解决了。设备工作不正常,硬件问题。我直接连接到读卡器并使用它。是的,该设备的工作速率为9600和38400
int iRetn = 0;
BYTE byStatus = 0;
string str = "";
iRetn = MT166_GetStatus(hPortHandle, 0x98, byStatus);
DLLEXPORT int APIENTRY MT166_GetStatus(HANDLE hComHandle, BYTE CardNum,BYTE &byStatus)
///Parameter:
// hComHandle: Input parameter, serial port handle, obtained by opening the serial port
// CarderNum: Input parameter, card dispenser NO. Default is 0x98
// byStatus: output parameter, card dispenser status word
//Return value:
//Succeed, return value is 0
//failed, return value is not 0 = -1 no communication