android 串口调试工具_树莓派通用串口通信实验
一、介紹
對(duì)于樹莓派 3B+來(lái)說(shuō),他的UART功能有三種:1、內(nèi)部藍(lán)牙使用;2、控制終端使用;3、與其他設(shè)備進(jìn)行串口通信。
在樹莓派USB TO TTL模塊實(shí)驗(yàn)中學(xué)習(xí)了通過串口對(duì)樹莓派進(jìn)行控制臺(tái)控制,讓串口作為控制終端調(diào)試口即 serial console,但是在項(xiàng)目中常常會(huì)使用串口同其他傳感器、單片機(jī)等設(shè)備進(jìn)行通用串口通信。
本實(shí)驗(yàn)中設(shè)置樹莓派的串口為通用串口與PC電腦的串口調(diào)試工具進(jìn)行通信。
二、組件
★Raspberry Pi 3 B+主板*1?快速購(gòu)買
★樹莓派電源*1
★USB TO TTL模塊*1
★面包板*1(可選)
★40P軟排線*1
★跳線若干
三、實(shí)驗(yàn)原理
(一)樹莓派的串口
樹莓派從大的方向來(lái)說(shuō)一共出了3代,每一代的CPU外設(shè)基本相同,但內(nèi)核不同,外設(shè)里面一共包含兩個(gè)串口,一個(gè)稱之為硬件串口(/dev/ttyAMA0),一個(gè)稱之為mini串口(/dev/ttyS0)。
硬件串口由硬件實(shí)現(xiàn),有單獨(dú)的波特率時(shí)鐘源,性能高、可靠,mini串口性能低,功能也簡(jiǎn)單,并且沒有波特率專用的時(shí)鐘源而是由CPU內(nèi)核時(shí)鐘提供,因此mini串口有個(gè)致命的弱點(diǎn)是:波特率受到內(nèi)核時(shí)鐘的影響。內(nèi)核若在智能調(diào)整功耗降低主頻時(shí),相應(yīng)的這個(gè)mini串口的波特率便受到牽連了,雖然你可以固定內(nèi)核的時(shí)鐘頻率,但這顯然不符合低碳、節(jié)能的口號(hào)。
在所有的樹莓派板卡中都通過排針將一個(gè)串口引出來(lái)了,目前除了樹莓派3代以外 ?,引出的串口默認(rèn)是CPU的那個(gè)硬件串口。而在樹莓派3代中,由于板載藍(lán)牙模塊,因此這個(gè)硬件串口被默認(rèn)分配給與藍(lán)牙模塊通信了,而把那個(gè)mini串口默認(rèn)分配給了排針引出的GPIO ?Tx Rx。
樹莓派的串口默認(rèn)為串口終端調(diào)試使用,如要正常使用串口則需要修改樹莓派設(shè)置。關(guān)閉串口終端調(diào)試功能后則不能再通過串口登陸訪問樹莓派,只能通過ssh或者遠(yuǎn)程桌面連接樹莓派后進(jìn)行控制。
上圖紅框中就是引出的串口IO(GPIO ?14/15),如果我們需要通過UART外接模塊,默認(rèn)情況下必須得使用性能很低的mini串口了,而且隨著內(nèi)核主頻的變化,還會(huì)造成波特率的變化導(dǎo)致通信的失敗,幾乎很難使用。所以我們一般要恢復(fù)硬件串口(/dev/ttyAMA0)與GPIO ?14/15的映射關(guān)系,使得我們能夠通過GPIO使用高性能的硬件串口來(lái)連接我們的串口設(shè)備。
恢復(fù)映射關(guān)系前先看下默認(rèn)的映射關(guān)系:
serial0是GPIO引腳對(duì)應(yīng)的串口,serial1是藍(lán)牙對(duì)應(yīng)的串口。如圖所示,serial0(GPIO串口)默認(rèn)使用的是ttyS0(mini串口),serial1(藍(lán)牙)使用的是ttyAMA0(硬件串口)。
四、實(shí)驗(yàn)步驟
第1步:連接電路。使用USB TO TTL模塊連接好樹莓派的串口和PC電腦的USB接口。
| TXD | TXO | RXD |
| RXD | RXI | TXD |
| GND | GND | GND |
下圖中的USB要插到筆記本電腦上哈,為方便拍照就沒插上。連線很簡(jiǎn)單,電路圖就沒畫了。
第2步:首先我們先嘗試使用默認(rèn)的ttyS0(mini串口)來(lái)進(jìn)行通用串口通信。
(1)設(shè)置樹莓派,在Raspberry Pi Configuration中將Serial Port設(shè)置為Enable,但是Serial Console都要Disable,即關(guān)閉串口控制臺(tái)功能,然后必須重啟樹莓派生效。
(2)PC電腦上運(yùn)行串口調(diào)試工具,串口驅(qū)動(dòng)的安裝請(qǐng)參考樹莓派基礎(chǔ)實(shí)驗(yàn)35:USB TO TTL模塊實(shí)驗(yàn)中的內(nèi)容。如下圖設(shè)置好參數(shù),點(diǎn)擊“打開串口”。
(3)樹莓派上安裝minicom,啟動(dòng)時(shí)配置參數(shù)串口為/dev/ttyS0,波特率(9600)。在樹莓派上輸入信息,在PC上的串口調(diào)試工具就會(huì)收到該信息。
sudo?apt-get?install?minicom??????#安裝minicomsudo?minicom?-D?/dev/ttyS0?-b9600???#啟動(dòng)minicom(4)PC上的串口調(diào)試工具發(fā)送字符信息,樹莓派上也會(huì)顯示該信息,證明兩者的UART雙向通信成功。
(5)這里要注意的是:進(jìn)入minicom工具,按提示按CTAL -A,然后按Z后會(huì)顯示幫助信息。若再按O可以進(jìn)入Minicom配置界面。
進(jìn)入Minicom配置界面,再選擇Serial port setup,可以對(duì)樹莓派的串口進(jìn)行設(shè)置。
進(jìn)入串口設(shè)置,可以設(shè)置樹莓派串口的設(shè)備、波特率等:
第3步: 為了在樹莓派3中通過GPIO使用高性能的硬件串口,我們必須將分配給藍(lán)牙使用的硬件串口與分配給IO排針的mini串口進(jìn)行對(duì)換,這必然會(huì)使得藍(lán)牙模塊的功能受到影響,不過這里我們不使用藍(lán)牙。
(1)在/boot/overlays文件內(nèi)有兩個(gè)文件,README 和pi3-miniuart-bt.dtbo,首先查看有沒有相關(guān)文件。
(2)README文件中說(shuō)明了此文件的功能,是將樹莓派3的藍(lán)牙切換到mini串口(ttyS0),并且恢復(fù)硬件串口(ttyAMA0)到GPIO14&15引腳中。
(3)修改配置文件
sudo?vim?/boot/config.txt在該文件中加一行代碼
dtoverlay=pi3-miniuart-bt保存后重啟樹莓派,再查看映射關(guān)系已經(jīng)改變:
(4)進(jìn)入minicom,發(fā)送信息給PC串口調(diào)試工具。與第2步不同的是:啟動(dòng)時(shí)配置參數(shù)串口必須為/dev/ttyAMA0,波特率可以更改為其它的,這里設(shè)置為115200。
pi@raspberrypi:~?$?sudo?minicom?-D?/dev/ttyAMA0?-b115200經(jīng)過測(cè)試,雙向通信成功!這里要注意,第2步里面關(guān)閉串口控制臺(tái)功能的設(shè)置不能變,即Serial Console要Disable。
補(bǔ)充: 前面步驟當(dāng)中的部分設(shè)置使用的是圖形界面配置,在不能使用圖形界面時(shí),也可以直接修改配置文件。
(1)上面串口的開啟的步驟中,是在Raspberry Pi Configuration 界面中,將Serial Port選項(xiàng)ENable,也可以直接修改/boot/config.txt文件。
sudo?vim?/boot/config.txtenable_uart=1即為Serial Port Enable串口開啟,enable_uart=0即為Serial Port Disable串口關(guān)閉。
(2)上面關(guān)閉串口控制臺(tái)功能,是在Raspberry Pi Configuration 界面中,將Serial Console選項(xiàng)Disable,可以直接修改/boot/cmdline.txt文件。
sudo?vim?/boot/cmdline.txt修改前:
修改后:
去掉了“console=serial0,115200”,即Disable了串口控制臺(tái)功能。
樹莓派3B/3B+心動(dòng)購(gòu)買
精彩回顧
點(diǎn)擊文字即可閱讀全文?【教程】樹莓派上安裝Domoticz,控制家中各種設(shè)備?額溫槍實(shí)戰(zhàn)方案開發(fā)板,使用手冊(cè)+全套資料??ROS機(jī)器人操作系統(tǒng)如何安裝使用?快來(lái)了解!??技能get√丨用樹莓派4制作交通標(biāo)志識(shí)別機(jī)器人??【教程】教你用Arduino制作PM2.5測(cè)量?jī)x(使用GP2Y1010AU0F灰塵傳感器)???技能get√丨用樹莓派打造家庭自動(dòng)化???【教程】不說(shuō)廢話!教你在樹莓派上安裝OpenCV??【K210火炎焱燚】K210產(chǎn)品大集合必須火火火火火火~總結(jié)
以上是生活随笔為你收集整理的android 串口调试工具_树莓派通用串口通信实验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实验11 编写子程序
- 下一篇: matlab实现QPSK调制解调