我想通过串行端口从扫描仪接收数据。我的扫描仪连接到 COM0 上的 EPT(电子支付终端)。
扫描仪似乎工作正常,我可以检测到条形码和二维码,但串行端口上没有收到任何内容。我尝试的每台扫描仪都以相同的结果结束,但我设法从其他设备接收数据。
这种设备有什么特殊之处吗?
在 EPT 端,串行端口被格式化为扫描仪对话框(115200、8、N、1,没有流量控制)我可以从扫描仪接收数据到计算机,也可以从计算机接收数据到 EPT。
我尝试了两种不同的扫描仪: - HoneyWell 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 中的数据。
提前致谢