串口通訊原理

來源:互聯網
上載者:User

標籤:

轉:http://www.cnblogs.com/genli/articles/1988459.html

今天被經理狠批了一頓,事後仔細想了想,是自己的原因,是自己太笨了,不能怪領導的。

  主要起因是串口通訊的問題,我們做測試,需要上位機和下位機以及測試儀器通訊。通訊的底層函數是經理寫的,而且已經封裝在dll檔案中,我們看不見,只能進行調用。於是問題出現了,從PC機向測試儀器發送命令沒有問題,但是從測試儀器返回到PC機上卻得到的不符。和同事討論研究了半天,一開始認為是接收時間的問題,後來經過調試發現不是這個問題,最後我們認為是經理的函數的不穩定,於是請教經理。

  領導就是領導,過來看下問題,想了一會,告訴我們將開啟串口的函數放在初始化再進行調試。測試了很久也沒有發現問題。最後經理給我們講了一下串口通訊原理,並且狠狠的批了一通,

  總結來看串口通訊原理,(也可以說大多數通訊原理也是如此)。通訊首先要有個通訊,可以簡單的把通訊看成一個小桶,發送方住水桶裡裝水,接收方從水桶中取水。如果你要和對方通訊首先需要將桶蓋開啟,再將水裝入到桶中,這時接收方才能夠從桶中取到水。這裡就存在著一定的問題,1,如果桶蓋還沒有開啟,發送方已經發送了。這時接收方再從桶中取水,肯定取的水不對,會不一部分缺失了。解決方式就是讓桶蓋開啟再往其中加水。2,但是桶蓋何時開啟,發送方何時發送,這個不好把握。解決方案:接收方接到資料時,要返回一個應答標誌,告訴發送方我已經取到資料了,而且是取得到正確資料才應答,否則不理會,繼續取資料。或者一直查詢,直到與發送方發來的資料一致再停止取資料。

  一般的,進行串口通訊總有一個是主動方一個是被動方,而且二者傳輸資料時,會有一定的協商好的資料格式,二者發送接收都按照此資料格式進行。

真的應該感謝經理,他的一能指教,用如此形象的比喻把串口通訊原理就講明白了,感覺受益不小。也解決了困惑很久的東西。  

串口通訊原理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.