嵌入式設備通常都是使用串口通信進行調試,也就是通過串口設備與計算機通信,有固定的串口通信協議,硬件上一般兩根線就可以,一根用于接收數據(rx)一根用于發數據(tx)。數據通過通過物理線路的表現形式為高低電平,比如連線兩端的發送者在一秒內發送8個數據bit位+1個校驗位+1個停止bit位,用于傳輸一個ASCII碼,也就是說,一秒就可以確定一個確切的信號。好了有了基本的概念之后,就來介紹幾個專業的名詞。
比特率:每秒鐘通過信道(上述例子指的是兩根物理連線,也有可能是無線電,
光纖)傳輸的二進制位數被稱為比特率。單位是 b/s、bit/s或者bps(bit per second),讀作比特每秒。
例如:1比特每秒表示每秒鐘發送1個比特位,信道的傳輸速率就是 1 bit/s
碼元:在信道中傳輸的數據一般都是以若干個bit信號表示一個確切的信號,如上述(8+1+1)位表示一個ASCII碼,像這樣的由一個或若干比特位組成的可以表示一個確切的信號單元我們稱之為碼元。
波特率(Baud rate):單位時間內傳輸碼元符號的個數。單位是Baud。通過不同的調制方法可以在一個碼元上負載多個bit位信息。
波特率與比特率的關系為:比特率=波特率*碼元所占位數
串口通信線路,因為沒有時鐘線,所以相互通信的兩個設備必須保持步調一致才能正確的解析數據,也就是說波特率,數據位,停止位,奇偶校驗位等需要相同。串口的波特率比較常見的是9600和115200。波特率越高,數據傳輸速度當然越快,但是有效通信距離會越短。9600一般傳輸長度為10米,最大不超過20米,115200一般距離不超過5米,通常用2~3米。
串口的波特率:
數據位的傳輸速率是用比特率描述的,跟波特率完全兩個概念。波特率是指每秒傳輸符號的個數,也就是每秒調制狀態(碼元)變化的次數,等于系統的采樣率,每個調制狀態對應一個所謂的符號(碼元)。這個符號用若干位二進制數表示出來。那么波特率x單個調制狀態對應的二進制位數,就是等于比特率(bit/s) 8位(bit)二進制數是一個字節(byte) 所以比特率除以8是數據傳輸字節的速率。一定要搞清波特率跟比特率的區別。