串口是“串行接口”的簡(jiǎn)稱,即采用串行通信方式的接口。串行通信將數(shù)據(jù)字節(jié)分成一位一位的形式在一條數(shù)據(jù)線上逐個(gè)傳送,其特點(diǎn)是通信線路簡(jiǎn)單,但傳輸速度較慢。因此串口廣泛應(yīng)用于嵌入式、工業(yè)控制等領(lǐng)域中對(duì)數(shù)據(jù)傳輸速度要求不高的場(chǎng)合。串行通信分為兩種方式:同步串行通信和異步串行通信。同步串行通信需要通信雙方在同一時(shí)鐘的控制下,同步傳輸數(shù)據(jù);異步串行通信是指通信雙方使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過程。UART是一種采用異步串行通信方式的通用異步收發(fā)傳輸器(universal asynchronous receiver-transmitter),它在發(fā)送數(shù)據(jù)時(shí)將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)來傳輸,在接收數(shù)據(jù)時(shí)將接收到的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)。UART串口通信需要兩根信號(hào)線來實(shí)現(xiàn),一根用于串口發(fā)送,另外一根負(fù)責(zé)串口接收。UART在發(fā)送或接收過程中的一幀數(shù)據(jù)由4部分組成,起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位,如下圖所示。其中,起始位標(biāo)志著一幀數(shù)據(jù)的開始,停止位標(biāo)志著一幀數(shù)據(jù)的結(jié)束,數(shù)據(jù)位是一幀數(shù)據(jù)中的有效數(shù)據(jù)。校驗(yàn)位分為奇校驗(yàn)和偶校驗(yàn),用于檢驗(yàn)數(shù)據(jù)在傳輸過程中是否出錯(cuò)。奇校驗(yàn)時(shí),發(fā)送方應(yīng)使數(shù)據(jù)位中1的個(gè)數(shù)與校驗(yàn)位中1的個(gè)數(shù)之和為奇數(shù);接收方在接收數(shù)據(jù)時(shí),對(duì)1的個(gè)數(shù)進(jìn)行檢查,若不為奇數(shù),則說明數(shù)據(jù)在傳輸過程中出了差錯(cuò)。同樣,偶校驗(yàn)則檢查1的個(gè)數(shù)是否為偶數(shù)。
同步傳輸該方式是在一塊數(shù)據(jù)的前面加入1個(gè)或2 個(gè)以上的同步字符SYN。SYN 字符是從ASCII 碼中精選出來供通信用的同步控制字符。同步字符后面的數(shù)據(jù)字符不需任何附加位,同步字符表示字符傳送的開始,發(fā)送端和接收端應(yīng)先約定同步字符的個(gè)數(shù)。