close
Single.9

Single‧9


Beaglebone Black - 開啟 GPIO 上的 UART 接腳

Posted: 13 Jul 2015 04:07 AM PDT

UART Cape

Beaglebone Black 有 4.5 個 UART 接腳可供使用,但預設的情況下為關閉的狀態。也就是說,你無法透過這些腳位來正常的接收資料,就算你透過一些軟體的方式來強制運行,他還是會自動關閉連線狀態,導致連接不穩。為什麼我知道這些呢? 因為我最近在測試的時候發現有這樣的狀況,拜讀過 Google 大神的幾篇資料後才得以解決。這搞了我好幾天啊啊啊!

綜合以上所知,我們知道如果要使用 Beaglebone Black 上的這幾個 UART 腳位的話,我們必須修改內核的設定來強制開啟這幾個 UART 腳位的通訊功能。

新增設定

透過 Cloud9 或者是終端機連上 Beaglebone Black 後,輸入

nano /boot/uboot/uEnv.txt

然後在 #cape= 的下方加入

optargs=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4, BB-UART5

這行的意思是開啟 Beaglebone Black 上所有的 UART 腳位,在這部分你可以參考上方的腳位圖來開啟所需的腳位即可,也就是刪去不需要 UART 標號。

按下 Ctrl+X 以及 Y 再按下 Enter 後存檔,這時設定尚未生效,你需要重新開機後才會令設定生效。

shutdown -r now

確認啟動

等待 Beaglebone Black 重新開機完成後,輸入這行指令

ls -l /dev/ttyO*

你應該會看到如下的訊息

root@beaglebone:/var/lib/cloud9# ls -l /dev/ttyO*
crw-rw---- 1 root tty     248, 0 Jul 13 18:34 /dev/ttyO0
crw-rw---T 1 root dialout 248, 1 Jul 13 18:34 /dev/ttyO1
crw-rw---T 1 root dialout 248, 2 Jul 13 18:34 /dev/ttyO2
crw-rw---T 1 root dialout 248, 4 Jul 13 18:34 /dev/ttyO4

如果只有出現

root@beaglebone:/var/lib/cloud9# ls -l /dev/ttyO*
crw-rw---- 1 root tty     248, 0 Jul 13 18:34 /dev/ttyO0

那有可能是你的設定出錯導致,請再回到第一步驟嘗試。

經過上述兩個步驟後,Beaglebone Black 的 UART 通訊功能才算是正式啟用!

附註

arrow
arrow
    全站熱搜

    knoledge 發表在 痞客邦 留言(0) 人氣()