tft每日頭條

 > 圖文

 > 串口線接法

串口線接法

圖文 更新时间:2024-09-29 11:28:38

這種通訊方式非常簡單。他隻需要三根線。第一根線是微控制器的發送連接着電腦的接收。第二根線電腦的發送連接着微控制器的接收。第三根線是地線,我們給電腦發送數據通過第一根線就可以完成。比如我們給電腦發送大寫字母A,媽媽這一根線上到底發送了什麼呢?通過波形圖測試發現。微控制器發送的波形是這樣的,這是一幀完整的串形數據。一共10位,它是從走往右依次把數據發送出去了,第一位是起始位,他永遠是低電平。第十位是停止位,它永遠都是高電平。然後中間8個是二進制數據,因為是2進制,所以第一位代表1。第二位代表2。第三位代表4,依次類推,第八位代表128。按照這個規律,我們把收到的這個A的這個波形每一位相➕,最後的結果就是65,65和A之間有什麼關系?這得看ASCII碼對照表了。表中65z正好對應大寫的A。

串口線接法(串口通信原理)1

ASCII碼

而且我們要發送C的話,微控制器就得發送67了。我們想要發送什麼數據,就按照表中的值讓微控制器發送高低電平就可以了。但是需要注意,在我們發送的時候,必須要有時間間隔。那麼這個時間間隔是多少呢?這得看串口通訊的波特率了。我們現在使用的波特率是9600。意思是1秒之内,發送9600位這樣的數據。也就是每一位數據之間的間隔為100微秒。按照這個規律每隔100微秒,我們給電腦發送一次高低電平。電腦就能收到,我們發送的是什麼。比如我們現在發送的是66電腦收到的就是B。如果想要發送更快的話,可以選擇更高的波特率。如果選擇115200的波特率。則她在1秒之内,可以發送115,200個數據。比剛才快了十多倍,則他發送的時間間隔調整為8.7微秒。我們發送的時間間隔和波特率一定要嚴格對應上如果對應不上可能會出現這樣的情況,當我們把數據發送過去,接收方可能已經過了接收時間。這樣就會導緻數據錯亂,剛才我們從串口通訊的對底層解釋到了他到底是什麼?其實在現在窗口發送數據的時候。根本不需要像我們剛才說的那麼麻煩。就拿Arduino開發版為例。這是他發送大寫字母C的程序。在程序的開頭設置好波特率。然後直接C使用這個函數就能發送出去。根本不需要我們設置時間間隔也不需要,我們按照ASCII表像剛才那樣一微一位的去發送數據。因為這個函數做了,我們上面所說的一切,他本質就是按照時間間隔。把大寫字母C根據ASCII碼,一位一位的發送出去。這就是串口通訊的本質。無論程序有多簡單,最後發送的高低電平都是固定不變的。

串口線接法(串口通信原理)2

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved