Code Bye

java编写的串口通讯程序向单片机发指令单片机没有返回

1.用串口助手发指令单片机有返回
2.java发送内容与串口助手发送的内容相同,都是hex。
3.java相关代码
//向端口写入输入的数据
//输入:String 要向端口写入的数据
//功能:把输入数据向选择的串口发送
//返回:无
public void write(String message) {
try{
outputStream = new BufferedOutputStream(serialPort.getOutputStream());
}catch(IOException e){
throw new RuntimeException(“获取端口的OutputStream出错:”+e.getMessage());
}
try{
byte [] asd =hex2byte(message);
outputStream.write(asd);
outputStream.flush();
}
catch(IOException e){
throw new RuntimeException(“向端口发送信息时出错:”+e.getMessage());
}
finally{
try{
outputStream.close();
}
catch(Exception e){
log(“输出流关闭出错”);
}
}
}
//输入数据串处理
public static String str2HexStr(String str){
StringBuilder sb = new StringBuilder();
byte[] bs = str.getBytes();
for (int i = 0; i < bs.length; i++){
sb.append(mChars[(bs[i] & 0xFF) >> 4]);
sb.append(mChars[bs[i] & 0x0F]);
sb.append(” “);
}
return sb.toString().trim();
}
4.java的上位机程序本人有写接收事件,并且能接受到串口助手发送的数据
总结:java向单片机发送内容与串口助手发送的内容相同,但是串口助手有返回,java没有,问一下本人问题出在哪?是发送方式或类型不对吗?
解决方案

100

串口通讯是rxtx吗?
你的校验,码率之类的参数能否设置正确了?转字节码转的对不对?有unit test么?
本人手里有个java串口通讯的项目源码,你若要可以发你参考

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明java编写的串口通讯程序向单片机发指令单片机没有返回