You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MangoPi Pro(Ubuntu Server 22.04)物理串口收发配置咨询

配置MangoPi Pro(Ubuntu Server 22.04)板载串口实现数据收发

1. 确认串口设备节点

首先找到板载串口对应的设备文件:

  • 执行命令查看所有串口设备:
    ls /dev/ttyS* /dev/ttyAMA*
    
  • 或者通过内核日志确认串口识别情况:
    dmesg | grep tty
    

通常MangoPi Pro的板载串口对应/dev/ttyS0或/dev/ttyAMA0,后续操作以/dev/ttyS0为例,实际根据你的设备调整。

2. 禁用串口控制台(关键步骤)

Ubuntu Server默认可能将板载串口用作登录控制台,这会干扰数据收发,需要禁用:

  • 编辑GRUB配置文件:
    sudo nano /etc/default/grub
    
  • 修改以下两个参数,移除其中包含console=ttyS0,xxx(xxx为波特率)的内容:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    GRUB_CMDLINE_LINUX=""
    
  • 更新GRUB使配置生效:
    sudo update-grub
    
  • 停止并禁用serial-getty服务:
    sudo systemctl stop serial-getty@ttyS0.service
    sudo systemctl disable serial-getty@ttyS0.service
    
  • 重启系统:
    sudo reboot
    

3. 配置串口参数

串口参数(波特率、数据位、停止位、校验位)必须与通信设备一致,以下以常用的115200波特率、8位数据位、1位停止位、无校验为例:

临时配置(重启后失效)

stty -F /dev/ttyS0 115200 cs8 -cstopb -parenb

参数解释:

  • 115200:波特率
  • cs8:8位数据位
  • -cstopb:1位停止位
  • -parenb:无奇偶校验

永久配置(重启后保留)

创建udev规则:

sudo nano /etc/udev/rules.d/99-serial.rules

添加以下内容:

ACTION=="add", KERNEL=="ttyS0", RUN+="/bin/stty -F /dev/ttyS0 115200 cs8 -cstopb -parenb"

重载udev规则:

sudo udevadm control --reload-rules && sudo udevadm trigger

4. 解决权限问题

当前用户默认可能没有访问串口设备的权限,将用户加入dialout组:

sudo usermod -aG dialout $USER

执行后重新登录用户,权限即可生效。

5. 测试串口收发

测试发送

向串口发送测试数据:

echo "Hello Serial" > /dev/ttyS0

测试接收

监听串口接收数据:

cat /dev/ttyS0

此时从对方设备发送数据,终端会显示接收到的内容,按Ctrl+C停止监听。

用minicom工具测试(可选)

安装minicom:

sudo apt update && sudo apt install minicom

启动minicom连接串口:

minicom -D /dev/ttyS0 -b 115200

进入后即可直接收发数据,按Ctrl+A再按Z可打开操作菜单,选择X退出。

内容的提问来源于stack exchange,提问作者aref niki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:07:22