我想通过串行端口从扫描仪接收数据。 我的扫描仪已连接到COM0上的EPT(电子付款终端)。
扫描仪似乎工作正常,我可以检测到条形码和QrCodes,但是串行PORT上什么也没收到。 我尝试使用的每台扫描仪都以相同的结果结束,但是我设法从其他设备接收数据。
这种设备有什么特殊性吗?
在EPT端,串行端口被格式化为扫描仪对话框(115200、8,N,1,无流量控制) 我可以从扫描仪到计算机再从计算机到EPT接收数据。
我尝试使用两种不同的扫描仪: -霍尼韦尔3310G -Posline PS-75
我在IWL250和IUC180B上工作。两者都是INGENICO制造的EPT。两者的反应方式相同。
在EPT上,我必须使用由机器的构造函数提供的C API。
在我的测试代码下面:
if(IsCOM0()){
if(stdcom0() == 0)
hCom0 = Telium_Fopen("COM0", "rw");
else
hCom0 = stdcom0();
Telium_Format("COM0", 115200, 8, 1, NO_PARITY, EVEN, 0);
Telium_Send_receive(hCom0, ON, ON);
iRet = Telium_Ttestall(COM0, 0);
iRet = Telium_Ttestall(COM0, 0);
do{
j = Telium_Fread(&test[i++], 1, 1, hCom0);
}while(j > 0);
Telium_Fclose(hCom0);
}
对于除扫描仪以外的所有其他设备,Telium_Ttestall会在COM0上检测到一个事件,并且我可以在&test中读取数据。
预先感谢
答案 0 :(得分:0)
没关系,
我们已经解决了这个问题。我们使用的电线未正确制作。 抱歉打扰了。
最好的问候,