1. 程式人生 > >計算機系統的通訊自己理解版本

計算機系統的通訊自己理解版本

週六整理週三講的東西,內心很崩潰嗚嗚嗚,筆記還不在身邊!

首先自己回憶一下吧,看看自己記住的符不符合那個遺忘曲線:

一、通訊方式,也就是說兩臺計算機或者微控制器收發資料,標準的ASCII碼是0-127,用7位就可以表示出來,除此之外128-255是擴充套件的ASCII碼。也就說兩臺微控制器靠傳送一串串由二進位制代表的ASCII碼就可以完成通訊。

二、在通訊的過程中,需要解決的最大問題——時間的問題,接受的計算機怎麼知道這一串數碼,哪一部分是第一個字元,哪一部分是第二個字元?解決方法有兩種:一種是同步{?},也就是一臺微控制器在傳送資料的時候,將時間也通過一根線傳送過去;第二種是非同步{?},不需要傳時間,只給標誌位:資料傳送結束和空閒階段是高電平,開始傳送資料是低電平。

三、一般中間傳送8幀,或者9幀,驗證碼也算在其中,再加上開始和終止的2位,傳送一個字元一共需要10位。

四、關於波特率:波特率也就是一秒鐘內收發資料的位元數bps。

五、一般匯流排時鐘,但需要把匯流排時鐘分頻成收發器內部時鐘,再把收發器內部時鐘除以8、12、16之後變成位時鐘(也就是波特率)。內部時鐘的存在是很有理由的,USART(通用同步/非同步收發器)需要用更高的頻率對來的高低電平進行檢測,來判斷此時的狀態,是高低跳變?還是高電平?

六、關於USART內部的電路和關鍵暫存器

關鍵部分是上面的灰色方框裡的4個暫存器。

七、TXE標誌位:剛開始的時候是1,表示可以開始寫入資料。在USART_DR暫存器中寫入要傳送的資料後自動清除TXE位,資料已經由TDR傳送到移位暫存器&&傳送資料已經開始&&DR暫存器是空的時,TXE暫存器就會變成1,表示下一個資料可以寫入TXE中去了,且不會覆蓋之前的資料。