uart接口是什么_各种接口的详细介绍
我面試的時(shí)候一般喜歡問(wèn)應(yīng)聘者一個(gè)問(wèn)題:UART與RS232/RS485的區(qū)別與聯(lián)系?很多人對(duì)于這個(gè)問(wèn)題答得都不是很好。還有些人壓根就沒(méi)有想過(guò)這個(gè)問(wèn)題,一直認(rèn)為他們是同一個(gè)東西,就是咱們俗稱(chēng)的串口。
我剛?cè)肭度胧降拇箝T(mén)時(shí),對(duì)這個(gè)問(wèn)題也困惑過(guò)很久,后來(lái)終于弄明白了。跟大家一起分享一下吧。
簡(jiǎn)單來(lái)說(shuō),區(qū)別在于UART是一種接口,而RS232/RS485是一種總線(xiàn)。UART這個(gè)接口,后面可以接TTL電平,這就是我們俗稱(chēng)的普通的串口。而UART如果接了RS232/RS485的轉(zhuǎn)換芯片,那么后面的總線(xiàn)上就是按照RS232/RS485規(guī)則來(lái)傳輸數(shù)據(jù)。RS232/RS485總線(xiàn)的具體規(guī)則我們后續(xù)再討論,本篇主要詳解TTL下的情況。UART接TTL電平時(shí),+5V等價(jià)于邏輯“1”,0V等價(jià)于邏輯“0”。
如下例子主要說(shuō)明一下UART接TTL電平這種方式是怎么傳輸二進(jìn)制數(shù)據(jù)的。這是我在項(xiàng)目中的一個(gè)例子,用STM32F429的Uart4口采集TOF模塊測(cè)量得到的距離信息。
UART的Rx連接測(cè)距模塊TOF的Tx。TOF向UART發(fā)送了0x32 0x33 0x6d 0x6d 0x0a五個(gè)字節(jié),對(duì)應(yīng)的ASCII碼是23mm,表示測(cè)到的距離。
0x32 0x33 0x6d 0x6d 0x0a對(duì)應(yīng)的示波器上測(cè)到波形如下所示,我們來(lái)一起分析一下。
首先,UART的波特率,配置的是9600。對(duì)于串口來(lái)說(shuō),波特率=比特率,所以串口現(xiàn)在比特率為9600,所以每一個(gè)bit需要的時(shí)間為100us。所以示波器抓的波形對(duì)應(yīng)的比特流是:
00100110010110011001010110110101011011010010100001
對(duì)于Uart,我配置的代碼如下:
USART_InitStructure.USART_BaudRate = UART4_BAUD; //9600
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No ;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(UART4, &USART_InitStructure);
所以Uart的數(shù)據(jù)位寬為8bit,再加上起始位0,結(jié)束為1.所以比特流分割為如下:
0 0100 11001
0 1100 1100 1
0 1011 0110 1
0 1011 0110 1
0 0101 0000 1
考慮硬件總線(xiàn)上的數(shù)據(jù)時(shí)序,CPU接收到后的比特序列顛倒:
0100 1100 顛倒為 0011 0010 即為0x32
1100 1100顛倒為 0011 0011 即為0x33
1011 0110顛倒為 0110 1101 即為0x6d
1011 0110顛倒為 0110 1101 即為0x6d
0101 0000顛倒為 0000 1010 即為0x0a
完美! 發(fā)送的0x32 0x33 0x6d 0x6d 0x0a 字節(jié)與示波器上測(cè)量到的高低電平信號(hào)完美相符。
作為嵌入式軟件工程師,對(duì)軟硬件的接口分析到這種程度,一般情況下,就夠用了。
—————————–上善若水,大智若愚———————————–
總結(jié)
以上是生活随笔為你收集整理的uart接口是什么_各种接口的详细介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 红帽子linux安装ftp,Linux
- 下一篇: 关于mysql的时区(下):如何设置my