不知道各位大侠都用什么软件做串口调试。
最近做了个板子,分析一个控制协议,要用串口读取调试信息。
我用了gserial和comAssist,都有严重的bug:gserial不能发送16进制00,接收也有误码,comAssist显示时过滤掉了0x00之类的非assii字符。于是改用“老牌的”minicom。
用minicom可以收到信息,但是全部转成了ascii码显示,存到文件里面用hex编辑器看,发现少了类似于00之类的非显示控制字符。把man minicom从头看了一遍,没找到如何设置才能显示十六进制数据。
请问各位,该如何设置才能让minicom像“串口调试精灵”那样显示十六进制数据呢?或者linux下面还有什么替代的软件比较好用呢?
谢谢大家!!
[问题]请问minicom如何配置才能显示十六进制数据呢?
-
- 帖子: 15
- 注册时间: 2006-10-29 0:11
-
- 帖子: 15
- 注册时间: 2006-10-29 0:11
- utnubudnai
- 帖子: 53
- 注册时间: 2007-06-20 15:45
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 2
- 注册时间: 2007-03-02 6:30
Re: [问题]请问minicom如何配置才能显示十六进制数据呢?
终于找到这样的工具了,我和楼主一样一直在找这样的工具。这个小工具叫moni:
http://www.rolf-schroedter.de/moni/
使用Tcl编写,接收显示00这样的控制字符没有问题。比如下面是Modbus RTU传输中,通过串口接收到Modbus Server发送的命令。
http://www.rolf-schroedter.de/moni/
使用Tcl编写,接收显示00这样的控制字符没有问题。比如下面是Modbus RTU传输中,通过串口接收到Modbus Server发送的命令。
-
- 帖子: 1
- 注册时间: 2012-09-05 9:43
Re: [问题]请问minicom如何配置才能显示十六进制数据呢?
看这里, http://alioth.debian.org/tracker/?func= ... p_id=30018
这里有补丁和编译好的binary, http://atmel.tk/tech/10/minicom-hex-output
diff -urN minicom-2.6.1/src/main.c minicom-2.6.1-add_hex_output/src/main.c
--- minicom-2.6.1/src/main.c 2012-02-11 21:24:25.000000000 +0800
+++ minicom-2.6.1-add_hex_output/src/main.c 2012-08-28 14:48:53.000000000 +0800
@@ -807,6 +807,17 @@
}
if (P_PARITY[0] == 'M' || P_PARITY[0] == 'S')
*ptr &= 0x7f;
+#ifdef ENABLE_OUTPUT_HEX
+ if (doputhex) {
+ char hexstr[4];
+ snprintf(hexstr, sizeof(hexstr), "%02X ", (unsigned char)*ptr);
+ ptr++;
+ vt_out(hexstr[0]);
+ vt_out(hexstr[1]);
+ vt_out(hexstr[2]);
+ }
+ else
+#endif /* ENABLE_OUTPUT_HEX */
vt_out(*ptr++);
if (zauto && zsig[zpos] == 0) {
dirflush = 1;
这里有补丁和编译好的binary, http://atmel.tk/tech/10/minicom-hex-output
diff -urN minicom-2.6.1/src/main.c minicom-2.6.1-add_hex_output/src/main.c
--- minicom-2.6.1/src/main.c 2012-02-11 21:24:25.000000000 +0800
+++ minicom-2.6.1-add_hex_output/src/main.c 2012-08-28 14:48:53.000000000 +0800
@@ -807,6 +807,17 @@
}
if (P_PARITY[0] == 'M' || P_PARITY[0] == 'S')
*ptr &= 0x7f;
+#ifdef ENABLE_OUTPUT_HEX
+ if (doputhex) {
+ char hexstr[4];
+ snprintf(hexstr, sizeof(hexstr), "%02X ", (unsigned char)*ptr);
+ ptr++;
+ vt_out(hexstr[0]);
+ vt_out(hexstr[1]);
+ vt_out(hexstr[2]);
+ }
+ else
+#endif /* ENABLE_OUTPUT_HEX */
vt_out(*ptr++);
if (zauto && zsig[zpos] == 0) {
dirflush = 1;
-
- 帖子: 1
- 注册时间: 2016-12-07 19:02
- 系统: win2007
Re: [问题]请问minicom如何配置才能显示十六进制数据呢?
Kicer您好!请问一下, 怎样使 minicom 既能支持ASCII又能支持16进制命令的发送?
或者,有没有其它更适合的Linux系统下的串口软件?
谢谢!
我的邮箱:tiger98@126.com,
或者,有没有其它更适合的Linux系统下的串口软件?
谢谢!
我的邮箱:tiger98@126.com,
- jobinson99
- 帖子: 1169
- 注册时间: 2007-04-28 15:14
- 系统: NixOS+虚拟机各种系统
- 联系:
Re: [问题]请问minicom如何配置才能显示十六进制数据呢?
还有个 kermit没人用么?我自己用minicom时,不稳定,用kermit稳定。
黑色的不是眼睛,而是眼圈
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
NixOS + lxqt + 无人生产线 + 无人农场 (已发明全套山地农业机械 + 线性喷洒系统,成片农业采收系统)+ 随身设备,柔性电路,冷热双调衣……
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
NixOS + lxqt + 无人生产线 + 无人农场 (已发明全套山地农业机械 + 线性喷洒系统,成片农业采收系统)+ 随身设备,柔性电路,冷热双调衣……