啟用樹莓派3B串列埠通訊能力
0x00 前言
首先介紹RPI3中的兩個串列埠
/dev/ttyAMA0:
RPI3配備了藍芽,為了保證藍芽的正確使用,/dev/ttyAMA0則不再為GPIO串列埠服務,而是為藍芽模組服務。/dev/ttyS0:
被稱為"mini uart",此串列埠代表了"Physical pin 8|10 BCM pin 14|15Wiring Pi pin 15|16".
但是由於次串列埠波特率收到cpu頻率影響,並不穩定,所以實際上無法被用來串列埠通訊。
workaround思路:將ttyAMA0和ttyS0互換,那麼gpio tx\rx串列埠對映給ttyAMA0,ttyS0則對映給藍芽裝置。
這樣gpio 14、15串列埠就擁有了穩定,強大的通訊功能。
而藍芽串列埠則無法正常使用。
0x01 啟用串列埠功能
$ sudo nano /boot/config.txt
改變使得:enable_uart=1.
若無此引數,則在最後一行新增:enable_uart=1.
重啟裝置。
0x02 檢視串列埠別名
ls -l /dev
會發現:
lrwxrwxrwx 1 root root 7 Aug 28 07:41 serial0 -> ttyS0
lrwxrwxrwx 1 root root 5 Aug 28 07:41 serial1 -> ttyAMA0
0x02 禁用/dev/ttyS0的console功能
$ sudo systemctl stop serial-getty@ttyS0.service
$ sudo systemctl disable serial-getty@ttyS0.service
並且修改cmdline.txt檔案
$ sudo nano /boot/cmdline.txt
刪除“console=serial0,115200”,儲存並重啟
0x03 交換串列埠
$ sudo nano /boot/config.txt
在最下面新增:dtoverlay=pi3-miniuart-bt
儲存並重啟。
此時檢視串列埠別名則發現:
lrwxrwxrwx 1 root root 7 Aug 28 07:41 serial0 -> ttyAMA0
lrwxrwxrwx 1 root root 5 Aug 28 07:41 serial1 -> ttyS0
此時,ttyAMA0串列埠可以正常用於串列埠通訊,ttyS0則無法被用於串列埠通訊,藍芽功能失效。
參考:
相關文章
- 樹莓派已經通過網路連線通過串列埠通訊在串列埠除錯小助手列印與操作樹莓派串列埠除錯
- 樹莓派4B基於OpenCV的C++環境的串列埠通訊樹莓派OpenCVC++串列埠
- 沒有樹莓派顯示器,鍵盤,滑鼠,串列埠, 樹莓派怎麼無線上網?樹莓派串列埠
- 樹莓派3B搭建Flink叢集樹莓派
- 樹莓派3B安裝openwrt19.07.04樹莓派
- 樹莓派3 B+ 的串列埠(USART)使用問題 (也是用C寫的)樹莓派串列埠
- 樹莓派的啟動樹莓派
- 樹莓派使用入門:用樹莓派學 Linux樹莓派Linux
- 【.NET 與樹莓派】i2c(IIC)通訊樹莓派
- 串列埠通訊串列埠
- 樹莓派使用入門:如何啟動一個新的樹莓派樹莓派
- 樹莓派3B安裝64位作業系統(樹莓派無需連線顯示器鍵盤滑鼠)樹莓派作業系統
- 樹莓派使用入門:如何更新樹莓派樹莓派
- 樹莓派是什麼 樹莓派能做什麼 樹莓派的功能用途樹莓派
- 串列埠通訊 (轉)串列埠
- 用VB除錯串列埠通訊 (轉)除錯串列埠
- 樹莓派使用樹莓派
- 用樹莓派玩轉藍芽樹莓派藍芽
- linux 串列埠通訊Linux串列埠
- 串列埠通訊協議串列埠協議
- Android 串列埠通訊Android串列埠
- C# 串列埠通訊C#串列埠
- 11. 串列埠通訊串列埠
- 串列埠通訊型別串列埠型別
- (10)uart串列埠通訊串列埠
- 樹莓派使用入門:如何用樹莓派來娛樂樹莓派
- 樹莓派使用入門:如何購買一個樹莓派樹莓派
- 樹莓派使用入門:慶祝樹莓派的 14 天樹莓派
- 樹莓派CM4(四):樹莓派映象替換核心樹莓派
- 通過串列埠進行通訊 :串列埠
- 串列埠資料抓取及串列埠通訊模擬串列埠
- 樹莓派筆記樹莓派筆記
- 樹莓派與FileZilla樹莓派
- 折騰樹莓派樹莓派
- 樹莓派裝opencv樹莓派OpenCV
- 新樹莓派入手樹莓派
- 樹莓派電臺樹莓派
- 用樹莓派搭建svn伺服器樹莓派伺服器