Linux串口调试利器:Minicom从入门到精通
1. Minicom是什么为什么开发者都爱用它第一次接触Linux串口调试时我也被各种工具搞得眼花缭乱。直到遇到Minicom才发现原来串口调试可以这么简单高效。这个诞生于1991年的老牌工具至今仍是嵌入式开发者的首选。它就像瑞士军刀一样体积小巧却功能齐全无论是调试路由器、单片机还是工业设备都能轻松应对。Minicom最大的优势在于它的纯粹性。不像某些图形化工具需要复杂的配置它直接用命令行操作特别适合远程SSH连接服务器调试设备。我经常用它和树莓派、STM32开发板打交道传输稳定不说还能实时显示十六进制数据。最让我惊喜的是它的脚本支持——通过编写简单的expect脚本就能实现自动化测试省去了重复敲命令的麻烦。2. 从零开始安装配置2.1 一键安装的两种姿势在Ubuntu/Debian系系统里安装就像喝咖啡一样简单sudo apt update sudo apt install minicom -y如果你用的是CentOS/RHEL换成sudo yum install minicom遇到依赖问题别慌先装这两个基础组件sudo apt install libncurses5-dev libtinfo-dev2.2 首次配置的避坑指南第一次启动建议用sudo权限否则可能遇到权限问题sudo minicom -s你会看到蓝色配置菜单重点设置这三项Serial port setup选择/dev/ttyUSB0或/dev/ttyS0Bps/Par/Bits设置波特率比如115200Hardware Flow Control一定要选No保存时选择Save as dfl下次启动就不用重复配置了。这里有个坑如果设备名带USB字样记得把配置里的ttyS0改成ttyUSB0我有次调试半天没反应就是栽在这。3. 实战串口通信全流程3.1 设备检测的进阶技巧插上USB转串口线后别急着用ls /dev/tty*。更专业的做法是dmesg | grep tty这会显示系统识别的所有串口设备连历史记录都能看到。如果设备没出现试试sudo modprobe usbserial特殊设备要特别注意树莓派/dev/ttyAMA0Jetson系列/dev/ttyTHS1CH340芯片可能需要sudo chmod 666 /dev/ttyUSB03.2 数据传输的十八般武艺基本启动命令minicom -D /dev/ttyUSB0 -b 115200但高手都这么玩十六进制显示加-H参数显示时间戳-C timestamp.log自动换行-w处理长数据帧超好用发送文件时我习惯用sz/rz组合# 接收端 rz -b # 发送端 sz filename4. 高级玩家必备技巧4.1 快捷键大全拯救效率记住这几个黄金组合CtrlA Z调出帮助菜单CtrlA O快速进入配置CtrlA W开启/关闭自动换行CtrlA L捕获日志到文件有个冷知识按CtrlA N可以显示/隐藏行号调试协议时超实用。4.2 自动化脚本实战用expect实现自动登录#!/usr/bin/expect spawn minicom -D /dev/ttyUSB0 expect login: send root\r expect Password: send 123456\r interact5. 常见问题排雷手册问题1提示Device /dev/ttyUSB0 is locked 解决方法sudo rm /var/lock/LCK..ttyUSB0问题2中文乱码 在配置菜单里把Character encoding改成UTF-8如果还不行LANGzh_CN.UTF-8 minicom问题3无法输入 检查是不是开了硬件流控制或者试试stty -F /dev/ttyUSB0 raw有次调试4G模块死活收不到数据最后发现是波特率不匹配——模块实际用的是9600我却设成了115200。所以遇到问题先确认三点波特率、数据位、流控制。