1. 程式人生 > >樹莓派的串列埠通訊

樹莓派的串列埠通訊

工具有:

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