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没有,问一下本人问题出在哪?是发送方式或类型不对吗?
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