我想通过串行端口从扫描仪接收数据。 我的扫描仪已连接到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++],hCom0);
}while(j > 0);
Telium_Fclose(hCom0);
}
对于除扫描仪以外的所有其他设备,Telium_Ttestall会在COM0上检测到一个事件,并且我可以在&test中读取数据。
预先感谢