[Raspberry Pi] 啟用Raspberry Pi 3B+ 序列埠功能
Introduction 對於Raspberry Pi 3B+來說,它的UART有三種功能: 供內部藍牙使用 控制終端使用(serial console) 與其他設備進行序列通訊(serial communication) Raspberry Pi 3B+有兩個UART(Universal Asynchronous Receiver/Transmitter,Universal是指可以自定義傳輸格式與baud rate,Asynchronous是指不依賴CPU時鐘),分別為PL011 UART與mini UART,PL011使用獨立的硬體(ARM PrimeCell PL011)去控制傳輸的baud rate,所以傳輸的性能與穩定度都很好, 但是mini UART的baud rate是使用系統核心時脈計算出來的,只能算半軟體的URAT,就算設定到115200bps實際上只有72000bps左右而已, 相較之下效能與穩定度都不足。 PL011 UART在系統中是/dev/ttyAMA0,mini UART是/dev/ttys0,Raspberry Pi 3B+有兩個序列埠口為serial0與serial1, serial0是GPIO埠口, 使用GPIO 14(pin 8)與GPIO 15(pin 15), serial1是藍芽; 在系統預設中,serial0是關閉的,serial1是指向/dev/ttyAMA0,所以無論是想用序列埠口作為serial console或者與其他設備做serial communication,首先要做的是啟用serial0這個序列埠口。 Enable Serial Port 本篇使用的硬體為Raspberry Pi 3B+,映像檔版本為2018-11-13-raspbian-stretch-lite;要啟用serial0可以使用raspi-config或者修改/boot/config.txt兩種方式。 使用raspi-config 進入Raspberry Pi Software Configuration Tool sudo raspi-config 選擇5 Interfacing Options並按下Enter鍵。 選擇P6 Serial並按下Enter鍵。 預設啟動serial interface會做...