当前位置: 首页 > news >正文

串口知识

串口在 Linux 里就 3 件事

  • “串口”其实是字符设备文件:常见是 /dev/ttyACM0(USB CDC/虚拟串口)或 /dev/ttyUSB0(USB 转串口芯片)。
  • 推荐用稳定路径:/dev/serial/by-id/...(按设备序列号)或 /dev/serial/by-path/...(按物理 USB 口),别长期写死 /dev/ttyACM0(插拔/换口会变)。
  • 能不能打开=权限 + 是否被占用;协议/波特率问题都是“打开成功之后”才会遇到。

一次性把权限搞定(你这次报错就是这里)

  • 现象:open(...) failed: Permission denied,同时 ls -l /dev/ttyACM0 显示类似 crw-rw---- root dialout ...
  • 原因:你的用户不在 dialout 组(Ubuntu/Debian 默认串口组),所以没有读写权限。
  • 解决:sudo usermod -aG dialout $USER 然后重新登录(或开新终端先 newgrp dialout),用 groups 确认出现 dialout
  • 临时绕过:sudo -E ros2 run ...(不推荐长期;容易带来 ROS 环境/权限混乱)。
  • 不推荐:sudo chmod 666 /dev/ttyACM0(重插就失效,还降低安全性)。

如果还“偶发打不开/乱占用”,按这套排查

  • 确认你用的 by-id 指到哪:readlink -f /dev/serial/by-id/xxx(一般会指到 /dev/ttyACM0)。
  • 看权限/所属组:ls -l /dev/ttyACM0;看你是否在组里:id -nGgroups
  • 看是否被别的程序占用:lsof /dev/ttyACM0(常见是你开了串口调试工具/另一个节点还在跑)。
  • 看 USB 枚举/断连:dmesg -w(插拔时会打印 ttyACM/ttyUSB 分配情况)。
  • 常见干扰:ModemManager 会“探测”串口导致占用/乱发;可先试 sudo systemctl stop ModemManager 验证,想彻底解决就加 udev 规则忽略它。

推荐的“永久方案”(可选,适合上机长期用)

  • 做一个 udev 规则:固定权限/组 + 禁止 ModemManager 探测(按你的设备 idVendor/idProduct/serial 匹配)。
# /etc/udev/rules.d/99-stm32-vcp.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", GROUP="dialout", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1"
  • 查匹配字段:udevadm info -a -n /dev/ttyACM0 | rg 'idVendor|idProduct|serial'
  • 生效:sudo udevadm control --reload-rules && sudo udevadm trigger,然后重插设备。
http://www.jsqmd.com/news/358649/

相关文章:

  • 2026GEO行业权威推荐:念奴娇——定制化与合规并重的场景专家 - 提酒换清欢
  • 亲测好用! AI论文平台 千笔·专业学术智能体 VS 万方智搜AI,本科生写作神器!
  • SQLAlchemy中使用UPSERT
  • 2026年2月高压水刀切割机厂家最新推荐,高压设备核心部件与使用寿命测评 - 品牌鉴赏师
  • 2026更新版!更贴合MBA需求的AI论文软件,千笔·专业论文写作工具 VS 灵感ai
  • 化工危化品桶装追溯:RFID 全流程可视化解决方案
  • 吐血推荐!降AIGC网站 千笔·降AI率助手 VS 笔捷Ai,MBA专属高效降重
  • 晨控CK-LR08-E00与汇川H5U系列PLC配置MODBUSTCP通讯连接手册
  • MongoDB索引类型详解与管理指南
  • 波在光纤中传播,变折射率光纤解析
  • 2026年2月婴幼儿安全驱蚊花露水产品推荐:行业权威盘点,母婴驱蚊品质红榜 - 品牌鉴赏师
  • P6295 有标号 DAG 计数
  • 全网最全 10个降AI率网站测评:专科生必备的降AI率工具推荐
  • 【大模型应用开发】Claude Code Skills 开发实战:打造你的专属 AI 智能体
  • 关于内网穿透
  • 新手也能上手 AI论文写作软件,千笔 VS Checkjie,专科生专属神器!
  • DELL R740XD安装内存
  • 强烈安利!最强的降AIGC网站 —— 千笔·专业降AI率智能体
  • 【Qwen】train()函数说明
  • 实用指南:LeetCode100天Day3-判断子序列与汇总区间
  • 03.传递函数(定义与时域)
  • C语言中易混淆概念:指针、数组与函数的深度辨析
  • 完整教程:PhysX-Anything:从单张图像创建可用于模拟的物理 3D 资源
  • 2026激光封边机有哪些品牌可选?十大热门品牌+选型干货,避坑指南来了 - 星辉数控
  • ubuntu:vim 操作教程(视频教程版)
  • 免费vs付费AIGC工具:10款主流选项性能对比
  • 论文写作智能化:6款AI工具提升效率与成果
  • php python+vue开题报告易租房系统
  • 2026年2月幼儿防干裂唇膏推荐:干唇修护测评与儿童专属护唇指南 - 品牌鉴赏师
  • DELL R740XD安装内存方法