通过串行端口从扫描仪接收数据

时间:2019-11-06 15:15:16

标签: serial-port barcode-scanner ept

我想通过串行端口从扫描仪接收数据。 我的扫描仪已连接到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中读取数据。

预先感谢

1 个答案:

答案 0 :(得分:0)

没关系,

我们已经解决了这个问题。我们使用的电线未正确制作。 抱歉打扰了。

最好的问候,