串口即串行通信的接口,是Arduino與上位機通信的主要方式。
蝸牛控制器將串口升級為藍牙通信,但并不影響串口的使用,因為藍牙模塊也是通過串口協議訪問的。
串口透傳原理.jpg (17.97 KB, 下載次數: 85)
下載附件
2021-10-24 17:24 上傳
蝸牛將數據串口發送給藍牙,藍牙負責與手機之間的通信,而我們只需要關心前半部分即可。
今天我們就通過“Hello串口”的例子開啟蝸牛與外界的交流!
一、實驗目的
二、所需硬件
三、電路
無需額外的電路。
四、認識串口
串口是串行通信的接口,是蝸牛控制器與外界數據交換的主要方式。- 硬件上,串口對應蝸牛控制器上第0號引腳和第1號引腳,數據的0和1通過這里與外界進行交互;
- 軟件上,串口是一種協議,定義了通信雙方準確進行數據發送和接收的規則。
串口很復雜,但我們不必過多關心底層的細節,研發工程師們已經將它們封裝成了一個個功能函數,而蝸牛又進一步將它們封裝成更易理解的積木,我們只需學會使用它們就可以了。
串口積木組.jpg (154.59 KB, 下載次數: 88)
下載附件
2021-10-24 17:24 上傳
- 打開串口:是進行串口通信的第一步;
- 串口發送:主要包括三種發送方式——發送單字節、發送多字節(最后不換行)以及發送多字節(最后換行);
- 串口接收:通過讀取接收字符數量判斷串口是否接收到數據,數量大于0表示接收到,后續可以一個字節一個字節地讀取,也可以整體讀取為一個字符串。
以上就是串口的所有基本操作,剩下的就是如何靈活運用了。
五、編程
1.打開串口
在“串口”積木組中選擇“打開串口”積木,將其拖放到右側的“初始化區”,見下圖所示。
串口初始化.jpg (26.24 KB, 下載次數: 78)
下載附件
2021-10-24 17:25 上傳
注意:蝸?刂破鞯牟ㄌ芈时仨氃O置為115200
2.串口輸出 本例輸出“Hello,串口”,輸出的是多字節的字符串,所以除了選用“串口”積木組中的“打印(自動換行,println)”積木外,還要選擇“文本”積木組中的“字符串”積木。 將上述兩個積木拖放到程序區,并彼此靠近吸合在一起,最后修改字符串積木上的文字為“Hello,串口”。
串口輸出字符串.jpg (17.6 KB, 下載次數: 83)
下載附件
2021-10-24 17:25 上傳
3.延遲等待 因為單片機執行速度很快,執行上述語句大概只需要幾十微秒,為防止串口堵塞,必須加一個延遲等待。 延時等待積木位于左側的“控制”積木組。
延遲等待積木.jpg (7.21 KB, 下載次數: 74)
下載附件
2021-10-24 17:25 上傳
注意:延時等待積木的時間單位是毫秒,1秒=1000毫秒。 由此就完成了“Hello,串口”程序的編制,見下圖所示。
串口完整程序.jpg (64.05 KB, 下載次數: 74)
下載附件
2021-10-24 17:26 上傳
六、程序下載
1.蝸?刂破鞴╇
供電后,其上的藍色指示燈會處于閃爍狀態,表明蝸?刂破髡9ぷ髁恕
2.手機環境配置
使用蝸牛手機APP時,需要打開手機的藍牙和GPS定位功能,同時保證藍牙未被其它設備連接。
3.連接蝸牛控制器
點擊左上角的“連接”按鈕,稍等片刻,按鈕由灰底“連接”切換為黃底“斷開”,表明連接成功。此時中間的“下載”按鈕也變為可用狀態,點擊“下載”按鈕開始程序編繹和下載,可以看到“下載”按鈕切換為百分號數字進度條,指示著下載進度。
程序下載界面.jpg (73 KB, 下載次數: 72)
下載附件
2021-10-24 17:26 上傳
七、交互窗口
程序下載完成后,就可以打開手機上的交互窗口,查看蝸牛控制器發上來的打招呼信息了。
點擊APP最上面的“交互”按鈕,即可彈出“交互窗口”
串口監視器.jpg (61.09 KB, 下載次數: 110)
下載附件
2021-10-24 17:26 上傳
可以看到,交互窗口中每0.5秒增加一行“Hello,串口”字符串。點擊右上角的“清空”按鈕,可清空接收接收窗口里的數據。
點擊手機屏幕黃色以外的灰度區域,可立即退出交互窗口。
=======================================
|