当前位置: 移动技术网 > IT编程>脚本编程>Python > 树莓派的串口通信

树莓派的串口通信

2018年12月01日  | 移动技术网IT编程  | 我要评论

ca1571,江苏汽油价格,苏玲玉

工具有:

  树莓派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()

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网