树莓派的串口通信

让人想犯罪 __ 提交于 2020-01-27 04:22:23

工具有:

  树莓派zero v1.3

  CH340 USB转串口工具

  电脑端的串口调试助手

硬件接线如图:

  

配置:

树莓派的串口默认为串口终端调试使用,如要正常使用串口则需要修改树莓派设置。关闭串口终端调试功能后则不能再通过串口登陆访问树莓派,需从新开启后才能通过串口控制树莓派。首先释放串口,执行如下命令进入树莓派配置程序,关闭serial

sudo raspi-config

打开/boot/config.txt文件。

sudo nano /boot/config.txt

找到如下配置串口,如果没有,可添加在文件最后面。

enable_uart=1

enable_uart=1

默认波特率为115200,如需设置波特率为9600要修改文件/boot/cmdline.txt,输入以下指令:

sudo nano /boot/cmdline.txt

【删除红色部分】

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

使用pyserial串口扩展库:

pyserial安装指令

sudo apt-get install python-serial

串口回显程序
非常简单的一个串口程序,树莓派通过串口返回接收的内容。

# -*- coding: utf-8 -*
import serial
import time
# 打开串口
ser = serial.Serial("/dev/ttyAMA0", 9600)
def main():
    while True:
        # 获得接收缓冲区字符
        count = ser.inWaiting()
        if count != 0:
            # 读取内容并回显
            recv = ser.read(count)
            ser.write(recv)
        # 清空接收缓冲区
        ser.flushInput()
        # 必要的软件延时
        time.sleep(0.1)
    
if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        if ser != None:
            ser.close()

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!