A. 單片機與pc機之間進行通信用同步方式和用非同步方式有什麼區別
非同步通信(UART)指兩個互不同步的設備通過計時機制或其他技術進行數據傳輸。非同步通信中兩個字元之間的時間間隔是不固定的,而在一個字元內各位的時間間隔是固定的。基本上,發送方可以隨時傳輸數據,而接收方必須在信息到達時准備好接收。相反,同步傳輸是一個精確同步的位流,其中字元的起始是由計時機制來定位的。
非同步通信中,數據通常以字元或者位元組為單位組成字元幀傳送。字元幀由發送端逐幀發送,通過傳輸線被接收設備逐幀接收。發送端和接收端可以由各自的時鍾來控制數據的發送和接收,這兩個時鍾源彼此獨立,互不同步。
通信協議(通信規程):使用非同步串口傳送一個字元的信息時,對資料格式有如下約定:規定有空閑位、起始位、資料位、奇偶校驗位、停止位。
同步通信(SPI)是一種比特同步通信技術,要求發收雙方具有同頻同相的同步時鍾信號,只需在傳送報文的最前面附加特定的同步字元,使發收雙方建立同步,此後便在同步時鍾的控制下逐位發送/接收。
沒有數據發送時,傳輸線處於MARK狀態。為了表示數據傳輸的開始,發送方先發送一個或兩個特殊字元,該字元稱為同步字元。當發送方和接收方達到同步後,就可以一個字元接一個字元地發送一大塊數據,而不再需要用起始位和停止位了,這樣可以明顯地提高數據的傳輸速率。
採用同步方式傳送數據時,在發送過程中,收發雙方還必須用一個時鍾進行協調,用於確定串列傳輸中每一位的位置。接收數據時,接收方可利用同步字元使內部時鍾與發送方保持同步,然後將同步字元後面的數據逐位移入,並轉換成並行格式,供CPU讀取,直至收到結束符為止。
採用同步通信時,將許多字元組成一個信息組,每組信息(通常稱為幀)的開始要加上同步字元,在沒有信息要傳輸時,要填上空字元,因為同步傳輸不允許有間隙。收發雙方不停地發送和接收連續的同步比特流。
不知道你理解了沒有,歡迎追問~
同步通信是把所傳送的數據以多個位元組(100位元組以上)為單位,在其前後添加標志。|同步字元|信息組|錯誤校驗| 同步字元一般為1~2個,錯誤校驗一般為CRC冗餘校驗。