6.6.2 串列埠通訊的基本引數
串列埠一般用於ascii碼字元的傳輸。最基本的串列埠通訊只需3個引腳即可實現,分別是地線、接收和傳送。其他引腳用於握手協議。由於串列埠通訊屬於非同步通訊,可以在進行通訊時不使用握手協議。
為了正確實現串列埠間的通訊,必須對串列埠的引數進行設定。圖6.13所示為使用windows中的超級終端進行串列埠通訊時設定引數的介面。引數具體說明如下:
圖6.13 串列埠通訊引數設定
1.每秒位數
即波特率。該引數表示每秒傳輸的位元數。例如,對於傳送端,2400波特率表示每秒傳送2400bit;對於接收端而言,2400波特率意味著串列埠通訊在資料線上的取樣率為2400hz。由於波特率和距離之間成反比,距離相隔很近的裝置間才可以實現高波特率通訊。
2.資料位
表示通訊中實際資料位的引數。在計算機傳送的資料報中,實際的資料往往不會是8位。在串列埠通訊中,可以選擇5、6、7或8位,如圖6.14所示。設定資料位主要考慮所要傳輸的資料內容。如果要傳輸的是標準的ascii碼,由於ascii碼的範圍是0~127,因此使用7位就可以了。如果要傳輸的是擴充套件ascii碼,其範圍是0~255,必須使用8位。當然,7位或8位資料位中不僅僅是資料,還包括開始/停止位、資料位以及奇偶校驗位等。
3.奇偶校驗位
該位用於串列埠通訊中的簡單檢錯。奇偶校驗位主要有:偶校驗、奇校驗、標記、空格的方式,也可以不使用校驗,如圖6.15所示。奇/偶校驗是通過統計資料中高位或低位的個數來實現校驗的。而標記、空格並不真正檢測資料,只是通過簡單的置位來實現對資料的檢測。通過置位方式,可以判斷出是否存在雜訊干擾資料通訊或資料傳輸,以及接收是否存在不同步的現象。
圖6.14 資料位設定
圖6.15 奇偶校驗位設定
4.停止位
停止位用於標誌該資料報資料結束,可以取1位、1.5位或2位,如圖6.16所示。停止位不僅僅用於資料報的傳輸結束標誌,還提供了計算機之間校正同步時鐘的機會。用於停止位的位數越多,不同時鐘同步的容忍程度越大。但是由於停止位占用了資料空間,過多的停止位將導致資料傳輸速度的下降。
5.資料流控制
通過串列埠傳輸資料時,由於計算機之間處理速度或其他因素的影響,會造成丟失資料的現象。例如,台式電腦與微控制器之間的通訊,接收端資料緩衝區已滿的情況下,繼續收到資料,新傳送來的資料就會由於無法處理造成丟失。資料流控制用於解決這個問題。通過控制傳送資料的速度,確保資料不會出現丟失。
資料流控制可以分為軟體流控制(xon/xoff)和硬體流控制,如圖6.17所示,也可以選擇不使用資料流控制。軟體流控制使用特殊的字元作為啟動或停止的標誌。而硬體流控制通過使用硬體訊號(ctr/rts)來實現。使用硬體流控制時,在接收端準備好接收資料後,設定cts為1,否則cts為0。同樣,如果傳送端準備好要傳送資料,則設定rts為1;如果還未準備好,設定cts為0。
圖6.16 停止位設定
圖6.17 資料流控制設定
WiFi基本引數
分享幾個wifi的幾個核心引數 beacon interval 間隔調高有助於無線網路效能 client 端省電,間隔調低可以加快wireless client 鏈結上去速度 beacon傳送頻繁frame會比較占用無線頻寬資源 beacon 單位通常以微秒 millsecond 為單位 1 100...
陣列的基本引數
arr a,b,c,d 1.arr.shift 刪除陣列的第乙個值並且返回這個值 alert arr.shift 彈出a2.arr.unshift 1 把1插入arr的第乙個值得前面,返回的是這個陣列的長度 alert arr.unshift 1 彈出53.arr.pop 把arr中最後乙個值刪除並...
Monkey命令基本引數
monkey命令基本引數 一 monkey簡介 monkey測試是android自動化測試的一種手段。用於進行壓力測試,模擬使用者的按鍵輸入,觸屏輸入,手勢輸入等,檢視裝置多久出現異常。monkey測試的特點 隨機性,不摻雜主觀性 二 monkey路徑 monkey是安卓系統自帶的,其啟動指令碼位於...