【发布时间】:2013-03-11 10:27:39
【问题描述】:
我必须为 GPRS 调制解调器 JAVA (J2ME) 编写一个应用程序,该程序必须与电子医疗设备接口(血糖仪)。
我在设备的串口上有一个输入缓冲区和一个输出缓冲区。
当应用程序启动时,我在串口上监听,我从血糖仪接收到一个字节,十进制代码“5”对应于 ASCII 表,查询符号,15 秒后我得到字节“ 4" 对应于传输结束。
要从血糖仪接收数据,我需要发送一个对应于字节“6”的 ACK 信号 (acknowledge)。 我尝试了以下形式:
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编码的价值,有人可以指出任何解决方案吗?
【问题讨论】:
标签: java-me serial-port