微控制器串列埠通訊的波特率什麼意思,為何不同環境下一定要設定某一

時間 2021-08-31 20:03:20

1樓:匿名使用者

波特率是指每秒傳送多少個二進位制數,也就是序列時鐘訊號的頻率,但是我們常用非同步通訊方式,時鐘訊號並沒有被傳輸,因此傳送方和接受方的設定波特率必須一致,並且不能有太大的誤差

2樓:匿名使用者

波特率就好比一首歌曲的節奏,有了這個節奏,序列通訊的各個資料位就會有條不紊地依次排隊一個一個地傳到對方,要正確收發,兩個通訊的主體的節奏必須一致,至於你說的不同環境我覺得,可以理解為:傳輸距離的遠近,周圍電磁干擾的強弱等等,當然距離越遠、干擾越大波特率相應的要小,降低速度以提高傳輸的準確性。

3樓:平靜的心情追夢

微控制器序列通訊波特率就是每傳送兩個資料的之間的間隔,或者是每秒鐘傳送的位元組數,你在進行序列通訊時,是兩個微控制器進行通訊,那肯定是要進行同步的(波特率要相同),要不然通訊沒法建立。波特率的設定注意點一般就是 如果晶振是12m的話,波特率最高只能為2400(因為再高的話,會出現很大的時間誤差,接收的資料出現亂碼) 如果是11.0592m 的話,波特率可以達到9600.

希望能幫到你。

89c52微控制器中,序列口工作方式1時,每次傳送8位資料是什麼意思?

4樓:匿名使用者

序列資料的傳送實際上就是靠改變io口電平來實現的,io口在同一時間就只能表示兩種狀態:高低電平,對應資料位0或1.串列埠第次傳送8位資料就是讓io口在傳送時間內變化8次.

為什麼是8位,因為串列埠在方式1是以位元組為單位傳送的.

而為什麼串列埠在方式1要以位元組為單位呢? 這是在硬體設計之初就確定好的,是串列埠標準.你我是不能改變的.

傳送時間是由波特率決定的,波特率就是指每秒鐘傳送多少個bit位.

串列埠標準中: 要傳送一個資料,還得加上一些其它的東西,比如起始位 停止位等.

a=01;subf=a; 微控制器執行後,就會將a中的8個位送到subf緩衝器中,subf也是一個位元組. 然後微控制器將會按設定好的引數啟動串列埠,將subf中的資料一位一位的送到io口上,即txd引腳上,至於起始位 停止位些是由串列埠自動實現的,只要設定好後,不需去理會.時間當然也是由波特率決定的.

綜上所述,在使用微控制器串列埠時,波特率的設定是必不可少的.兩個裝置要通訊,他們的波特率 停止位 資料位都是必不可少的.

5樓:

串列埠工作方式1時,總共傳送10個位:1起始位+8資料位+1停止位。

起始位為低電平,作用是產生初始下降沿觸發接收方的接收操作。

8位資料位中,最低位最前。

停止位為高電平。

如果用示波器來觀測,波形為:

低高低低低低低低低高

6樓:匿名使用者

你最好拿示波器看看就知道了

51微控制器串列埠通訊波特率問題,51微控制器串列埠波特率問題

anyway中國 usb轉串列埠上的晶振12mhz,對波特率的準確度有一定影響。但是,微控制器通訊的波特率設定,還是得採用與微控制器相連的11.0582mhz晶振進行計算。11.0592mhz設定的的大部分波特率理論誤差為零,但是,串列埠轉usb會有為了減小誤位元速率,可按照12mhz晶振波特率設定...

PC機與微控制器之間的串列埠通訊的程式

文庫精選 內容來自使用者 xy鴨頭丫頭 include define uchar unsigned charvoid main include define uchar unsigned charsbit sda p2 1 sbit clock p2 0 uchar recive void disp...

關於微控制器串列埠通訊時的同步時鐘訊號

串列埠通訊時鐘是由微控制器的晶振輸入後,內部產生的,每個微控制器都有自己的串列埠控制暫存器,在程式設計的時候只要對其進行正確的控制就可以設定串列埠通訊的各種工作模式,每個模式會有自己的波特率,即你說的時鐘頻率。波特率一般用9600,串列埠通訊有自己的協議,在微控制器教學的課程裡都會有,暫存器的程式設...