日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Uart接口的详细解释

發布時間:2024/4/18 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Uart接口的详细解释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我面試的時候一般喜歡問應聘者一個問題:UART與RS232/RS485的區別與聯系?很多人對于這個問題答得都不是很好。還有些人壓根就沒有想過這個問題,一直認為他們是同一個東西,就是咱們俗稱的串口。

?

我剛入嵌入式的大門時,對這個問題也困惑過很久,后來終于弄明白了。跟大家一起分享一下吧。

?

簡單來說,區別在于UART是一種接口,而RS232/RS485是一種總線。UART這個接口,后面可以接TTL電平,這就是我們俗稱的普通的串口。而UART如果接了RS232/RS485的轉換芯片,那么后面的總線上就是按照RS232/RS485規則來傳輸數據。RS232/RS485總線的具體規則我們后續再討論,本篇主要詳解TTL下的情況。UART接TTL電平時,+5V等價于邏輯“1”,0V等價于邏輯“0”。

如下例子主要說明一下UART接TTL電平這種方式是怎么傳輸二進制數據的。這是我在項目中的一個例子,用STM32F429的Uart4口采集TOF模塊測量得到的距離信息。

UART的Rx連接測距模塊TOF的Tx。TOF向UART發送了0x32 0x33 0x6d 0x6d 0x0a?五個字節,對應的ASCII碼是23mm,表示測到的距離。

?

0x32 0x33 0x6d 0x6d 0x0a?對應的示波器上測到波形如下所示,我們來一起分析一下。

?

?

?

?

首先,UART的波特率,配置的是9600。對于串口來說,波特率=比特率,所以串口現在比特率為9600,所以每一個bit需要的時間為100us。所以示波器抓的波形對應的比特流是:

00100110010110011001010110110101011011010010100001

?

對于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的數據位寬為8bit,再加上起始位0,結束為1.所以比特流分割為如下:

0 ?0100 1100??1

0 ?1100 1100 ?1

0 ?1011 0110 ?1

0 ?1011 0110 ?1

0 ?0101 0000 ?1

考慮硬件總線上的數據時序,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

?

完美! 發送的0x32 0x33 0x6d 0x6d 0x0a 字節與示波器上測量到的高低電平信號完美相符。

作為嵌入式軟件工程師,對軟硬件的接口分析到這種程度,一般情況下,就夠用了。

-----------------------------上善若水,大智若愚-----------------------------------

總結

以上是生活随笔為你收集整理的Uart接口的详细解释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。