我必须为必须与电子医疗设备(血糖仪)接口的可编程 GPRS 调制解调器 JAVA (J2ME)做一个应用程序。
我在设备的串行端口上有一个输入缓冲区和一个输出缓冲区。
当应用程序启动时,我在串口上监听,我从血糖仪收到一个字节,十进制代码“5”对应于 ASCII 表,查询符号,15 秒后我得到字节“4”对应于传输结束。
要从血糖仪接收数据,我需要发送一个对应于字节“6”的 ACK 信号(确认) 。我尝试了以下表格:
outBuffer.write("ACK\r\n".getBytes()); //first without setting the charset and after I trying to set all the charset.
我试图发送这样的字节缓冲区:
byte[] bSend = new byte[] { 6 };
outBuffer.write(bSend); //(I tried also with the byte 10 (LF) and 13 (CR)).
结果是我无法接收数据,但我循环获得但只有值 5 和 4。
如果我发送 ACK 消息,所有可以与串行端口通信的软件(如串行监视器)都可以正确接收来自血糖仪的数据。
我认为我的问题是由于 Java 中 ACK 编码的价值,有人可以指出任何解决方案吗?