单片机串口调试
目录
舍友在搞 c-sky 的单片机,囚来了一块玩玩,尝试在 Ubuntu 上调试单片机。
brltty 导致 USB 转串口连接失败
首先把板子 USB 和网卡插上,然后连接到电脑上,查看串口设备:
bash
ll /dev/ttyUSB*
但是没有找到串口设备
尝试了更新 ch341 驱动,然后发现不是驱动的问题,而是 brltty 的问题,卸载 brltty 之后就可以正常使用了。
bash
sudo apt remove brltty
参考资料:
- ubuntu22.04 的 brltty 导致 USB 转串口连接失败 | CSDN
- 服务器系统运行的奇怪程序 brltty 木马? | CSDN
- 解决 Ubuntu22.04 无法使用 ch34x 串口问题 | CSDN
- ubuntu 安装串口驱动(找不到 ttyUSB*) | CSDN
串口调试工具
串口默认需要 root 权限,或者 dialout 组权限,所以需要将用户加入 dialout 组或者使用chmod
命令修改串口权限。
bash
# 将当前用户加入dialout组
sudo usermod -aG dialout $USER
# 重启电脑
sudo reboot
# 修改串口权限
sudo chmod 666 /dev/ttyUSB0
学到的一些其他的命令:
bash
# 查看内核版本
uname -r
# 查看内核版本
cat /proc/version
# 查看当前已连接的usb设备
lsusb
# 查看是否加载了驱动
lsmod | grep usbserial
# 查看usb转串口、串口的安装状态
dmesg | grep ttyUSB*
dmesg | grep ttyS*
参考资料:
- Linux/ubuntu 下 ttyUSB0 等串口永久权限设置 | CSDN
- Ubuntu 关于串口的操作(查看串口信息、串口助手、串口权限) | CSDN
- linux 查看新增串口、USB 设备,Minicom + Usb 转串口 | CSDN
- 解决 Ubuntu 找不到 tty USB*的问题 | CSDN
直接操作串口
打开 2 个终端,一个用来发送,一个用来接收
bash
# 发送
echo "要发送的内容" > /dev/ttyUSB0
# 接收
cat /dev/ttyUSB0
putty
舍友学习用的是 putty,win 和 Linux 都有,连接起来还行,问题是文件显示顔色比较阴间,还就 ubuntu 上终端不能粘贴,很不方便。
下载安装
bash
sudo apt install putty
参考资料:
Serial Monitor | vscode 插件
vscode 有一个串口调试插件,可以直接在 vscode 中调试。
优点是显示文件好看,缺点是打开 vi 编辑器后不能按 Esc 退出,需要用 putty 退出。
minicom(推荐)
minicom 是一个方便干净的串口调试工具,没有 GUI,但是功能齐全,可以用来调试单片机。
没有 putty 和 vscode 插件的缺点,并且使用简洁方便
安装:
bash
sudo apt install minicom
配置:
bash
sudo minicom -s
# 修改串口设备为 /dev/ttyUSB0
# 保存配置
启动:
bash
sudo minicom
# 如果没配置,也可以直接用
sudo minicom -D /dev/ttyUSB0 -b 115200
# -D 指定设备
# -b 指定波特率 默认为 115200
退出:
bash
Ctrl + A + X
参考资料: