在我們的臺(tái)式電腦上,一般都會(huì)有一個(gè)9針的串行接口,這個(gè)串行接口叫做 RS232 接口,它和 UART 通信有關(guān)聯(lián),但是由于現(xiàn)在筆記本電腦都不帶這種9針串口了,所以和單片機(jī)通信越來(lái)越趨向于使用 USB 虛擬的串口,因此這一節(jié)的內(nèi)容作為了解內(nèi)容,大家知道有這么回事就行了。
我們先來(lái)認(rèn)識(shí)一下這個(gè)標(biāo)準(zhǔn)串口,在物理結(jié)構(gòu)上分為9針的和9孔的,習(xí)慣上我們也稱之為公頭和母頭,如圖11-3所示。
http://wiki.jikexueyuan.com/project/mcu-tutorial-two/images/36.png" alt="" />
圖11-3 RS232 通信接口
RS232 接口一共有9個(gè)引腳,分別定義是:1、載波檢測(cè) DCD;2、接收數(shù)據(jù) RXD;3、發(fā)送數(shù)據(jù) TXD;4、數(shù)據(jù)終端準(zhǔn)備好 DTR;5、信號(hào)地線 SG;6、數(shù)據(jù)準(zhǔn)備好 DSR;7、請(qǐng)求發(fā)送 RTS;8、清除發(fā)送 CTS;9、振鈴提示 RI。我們要讓這個(gè)串口和我們單片機(jī)進(jìn)行通信,我們只需要關(guān)心其中的2腳 RXD、3腳 TXD 和5腳 GND 即可。
雖然這三個(gè)引腳的名字和我們單片機(jī)上的串口名字一樣,但是卻不能直接和單片機(jī)對(duì)連通信,這是為什么呢?隨著我們了解的內(nèi)容越來(lái)越多,我們得慢慢知道,不是所有的電路都是 5 V 代表高電平而 0 V 代表低電平的。對(duì)于 RS232 標(biāo)準(zhǔn)來(lái)說(shuō),它是個(gè)反邏輯,也叫做負(fù)邏輯。為何叫負(fù)邏輯?它的 TXD 和 RXD 的電壓,-3 V~-15 V 電壓代表是1,+3 V~+15 V 電壓代表是0。低電平代表的是1,而高電平代表的是 0,所以稱之為負(fù)邏輯。因此電腦的9針 RS232 串口是不能和單片機(jī)直接連接的,需要用一個(gè)電平轉(zhuǎn)換芯片 MAX232 來(lái)完成,如圖11-4所示。
http://wiki.jikexueyuan.com/project/mcu-tutorial-two/images/37.png" alt="" />
圖11-4 MAX232 轉(zhuǎn)接圖
這個(gè)芯片就可以實(shí)現(xiàn)把標(biāo)準(zhǔn) RS232 串口電平轉(zhuǎn)換成我們單片機(jī)能夠識(shí)別和承受的 UART 0 V/5 V 電平。從這里大家似乎慢慢有點(diǎn)明白了,其實(shí) RS232 串口和 UART 串口,它們的協(xié)議類型是一樣的,只是電平標(biāo)準(zhǔn)不同而已,而 MAX232 這個(gè)芯片起到的就是中間人的作用,它把 UART 電平轉(zhuǎn)換成 RS232 電平,也把 RS232 電平轉(zhuǎn)換成 UART 電平,從而實(shí)現(xiàn)標(biāo)準(zhǔn) RS232 接口和單片機(jī) UART 之間的通信連接。