树莓派的串口通信
程序员文章站
2022-05-18 22:47:58
工具有: 树莓派zero v1.3 CH340 USB转串口工具 电脑端的串口调试助手 硬件接线如图: 配置: 树莓派的串口默认为串口终端调试使用,如要正常使用串口则需要修改树莓派设置。关闭串口终端调试功能后则不能再通过串口登陆访问树莓派,需从新开启后才能通过串口控制树莓派。首先释放串口,执行如下命 ......
工具有:
树莓派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()
上一篇: js节点的类型