【问题标题】:how to enable serial port(ttyAMA0) communication using "pi serial" in pi3?如何在 pi3 中使用“pi serial”启用串行端口(ttyAMA0)通信?
【发布时间】:2016-07-27 11:42:57
【问题描述】:

我想使用 pi serial 在 pi 3 中启用串行端口通信。 但是当我尝试打开这样的端口时

test=serial.Serial("/dev/ttyAMA0", 115200)

它给了我错误“port already open”。

我该如何解决?

【问题讨论】:

    标签: python serial-port serial-communication raspberry-pi3


    【解决方案1】:

    终于让我的 pi3 工作了(操作系统:debian jessie)

    请仔细遵循这 6 个步骤。

    第 1 步 - 将 Raspbian Jessie 安装到 SD 卡上并在连接到网络时启动 Pi 通过终端或桌面和 shell 登录 配置系统:

    sudo raspi-config
    

    扩展文件系统并在高级页面启用串行,退出并重新启动。

    第 2 步 - 如果您有 jessie 新版本,则无需这样做。 更新系统:

     sudo apt-get update
    
     sudo apt-get upgrade
    

    第 3 步 - 设备树设置如下:

    将设备树添加到 /boot/config.txt 以禁用 Raspberry Pi 3 蓝牙。

    sudo nano /boot/config.txt
    

    在文件末尾添加

    *如果您想将蓝牙更改为 miniuart 端口(坏)

    dtoverlay=pi3-miniuart-bt
    

    *如果你想禁用蓝牙(好)

    dtoverlay=pi3-disable-bt
    

    退出编辑器保存您的更改。

    第 4 步 - 重启 pi

    sudo reboot
    

    第 5 步 -

    a)禁用串行控制台编辑文件使用

    sudo nano /boot/cmdline.txt
    

    去掉“console=serial0,115200”或“console=ttyAMA0,115200”字相

    退出并保存您的更改

    b)启用串行控制台编辑文件使用

    sudo nano /boot/cmdline.txt
    

    将文件更改为以下内容:

    dwc_otg.lpm_enable=0 console=tty1 console=serial0(or ttyAMA0),115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
    

    退出并保存您的更改

    第 6 步 - 重启 pi

    sudo reboot
    
     -----------------**that's all,have fun**-------------------------------
    

    【讨论】:

    • 所以ttyAMA0 是另一个设备!
    • ttyAMA0 不是设备。它是 pi os 分配的默认端口号,用于连接到树莓派中的串行端口。
    猜你喜欢
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 2015-02-16
    • 2010-11-13
    相关资源
    最近更新 更多