樹莓派的串列埠通訊
阿新 • • 發佈:2018-12-01
工具有:
樹莓派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-getinstall 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()