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