2016-11-29 92 views
0

我很努力地瞭解這個UART時序圖的工作原理。根據我的理解,C ascii是十六進制的43H,二進制是0100 0011,所以他們先把低位先放到高位再放?又名0011 0100?如果是這種情況,爲什麼它在圖表上倒退?代替它是0011 0100 1100其0010瞭解UART時序圖

enter image description here

+0

是的,這是明顯的答案,首先發送LSB。 –

回答

3

對於RS232,所述至少顯著位被首先發送。這可以追溯到簡化非常老的電傳打印機中的硬件。

+0

好吧,所以最不重要的位先行,但爲什麼它在圖上反而不是它是0011 1100 – Malinator

+1

圖中有一點關閉。他們有0_11000010_11,它應該是0_11100010_11。 (也許校驗位也是關閉的!) –

0

我很努力地理解這個UART時序圖的工作原理。

顯然你指的是UART的邏輯輸出,即TxD引腳。
這不是一個RS-232信號,因爲電壓和邏輯電平是TTL。

所以他們把低位先高位再放?

最低有效位首先發送(在開始位之後,邏輯0)。
數據的最高有效位是最後一位,隨後是可選奇偶校驗位和1,1.5或2個停止位(在邏輯1)。

...又名0011 0100?

不,這不是反向位串。
您所做的只是交換半字節(即半字節)。

如果是這種情況,爲什麼它在圖表上倒退?

該圖沒有任何問題。
該圖中的數據位對於01000011或0x43是正確的,即具有偶校驗的8位數據。

...而不是它是0011 0100 1100其0010

1100 001001000011逆位順序。
你只是想交換半字節,這是完全不同的東西。