我正在尝试在连接到serialport的EFTPOS终端和我的计算机之间建立串行端口通信。 EFTPOS手册有一个用于测试的C#代码,并且它们有以下几行写入端口并直接从端口读取。
port.WriteLine("@PL");
Console.WriteLine(port.ReadLine());
但是在java中,如果我使用它,我的应用程序就会停止。所以我在java中使用eventhandler来读取EFTPOS终端的响应。我仍然无法让它发挥作用。现在我怀疑Java的C#和OutputStream.write(bytearray)的WriteLine(“@ PL”)。当这两个方法写在端口上时,这两个方法是否在同一个字符串中短语?因为只有当消息是“@PL”时,EFTPOS才会响应。这个问题的解决方案对我来说将是一个很大的缓解。
答案 0 :(得分:1)
他们可能用不同的编码书写。如果EFTPOS终端期望ASCII并且Java正在编写UTF-16,那么它将无法工作。