PIC單片機之通信協(xié)議(講的很好)
當人們晚上迷失在野外手上只有一個手電筒,此時有直升機飛過。人們用手電筒發(fā)出三短三長三短的光線。用這個國際通用的SOS求救信號,告訴飛行員來救你。人們規(guī)定的三短三長三短的光線,代表SOS就是一種通訊協(xié)議。
單片機處理通訊協(xié)議的方法其實也類似。只不過用的不是光線而是電平。比如我們完全可以模仿SOS求救信號的方法。來創(chuàng)造屬于自己的通訊協(xié)議。
例如:我們模仿SOS ,用高電平代替亮,用低電平代替暗。10MS(毫秒)為短,20MS為長。A單片機從一個I/O輸出如下的電平?梢钥闯鰡纹瑱C輸出了三短三長三短的的高電平。 B單片機從一個I/O接收如下的電平。當B單片機接收到信號的后,就可以根據(jù)程序做任何事,這個信號的代表什么,可以是SOS,可以開啟一些設(shè)備,可以是一切的意思。A單片機可以運用這個協(xié)議,命令B單片機做任何事情。只要我們自己編程前先確定好就行。
所以說協(xié)議本身是很隨意的,只要發(fā)送和接收雙方事先規(guī)定好就行了。但是如果每家公司,每個人都定一個通信協(xié)議。這樣協(xié)議就太多太亂。所以規(guī)定了幾種通用的協(xié)議如USART,I2C,SPI,這樣通信協(xié)議就能規(guī)范了。
我們稍稍講解下關(guān)于通信協(xié)議的幾個專業(yè)術(shù)語:
串行通訊和并行通訊。
如果我們手上有8個蘋果,我們想丟給另一個人。你可以一個個丟,丟完一個再丟另一個,這就是串行通訊。你可以8個一起丟,這就是并行通訊。只是對于單片機丟的不是蘋果而是位(bit)。
串行通訊只用一個數(shù)據(jù)(Data)線,發(fā)送數(shù)據(jù)所以只能一個個位的發(fā)送。
并行通訊要同時傳遞多少個位的數(shù)據(jù),則用多少個數(shù)據(jù)線。
全雙工通訊和半雙工通訊。
簡單的來說:比如兩個人聊天,如果A說話,B只能聽,B說話,A只能聽。A 和B兩個人不能同時說話,只能一方發(fā)出信息,另一方接收信息。雙方不能同時發(fā)出信息這就是半雙工。
如果兩個人聊天,兩個人可以同時說話,可以同時聽。雙方都以同時接收和發(fā)送這就是全雙工。
異步和同步。
對于單片機而言,如果在同一個時鐘下,動作和步調(diào)都是一致同步的。
如果不在同一個時鐘下,動作和步調(diào)是不一致的是異步的。
如果想讓兩個單片機,進行同步通訊,就必須工作在同一個時鐘下。所以它們之間連接著時鐘線。如果它們之間沒有時鐘線連接,則說明是異步通訊。
編輯:admin 最后修改時間:2018-05-18