你有沒(méi)有想過(guò)一個(gè)問(wèn)題,我們現(xiàn)在都是在寫一個(gè)單片機(jī)的程序,它也就像是一個(gè)人一樣,他再厲害,他能單槍匹馬的攻陷一個(gè)城池嘛?答案是否定了。你要是說(shuō)手撕鬼子,飛檐走壁,空中抓子彈,然后可以一人下一城,那我無(wú)話可說(shuō)。
那么,怎樣讓單片機(jī)不是一個(gè)人在工作呢?這就需要另外一個(gè)單片機(jī),簡(jiǎn)稱:小明 和 小紅。讓我們來(lái)想想一個(gè)場(chǎng)景,小紅被其他小朋友欺負(fù)了,她剛好有小明的電話號(hào)碼,她給小明打了一通電話, 說(shuō)了一句,我被欺負(fù)了。小明只是淡淡的回復(fù)了一句:哦!(活該沒(méi)有女朋友)。其實(shí)背地里,小明早已帶著砍刀奔向了戰(zhàn)場(chǎng),但是為時(shí)已晚。。。小紅早已傷心的離開了。所以,愛(ài)就要全部說(shuō)出來(lái),我們大男的何必這么含蓄呢(有點(diǎn)偏題了)。
分析以上故事:
-
小紅被打 -- 一號(hào)單片機(jī)檢測(cè)到引腳電平變化。
-
小紅給小明打電話“我被欺負(fù)了”。 -- 一號(hào)和二號(hào)單片機(jī)之間傳輸信息。
-
小明回答“哦” -- 二號(hào)單片機(jī)返回應(yīng)答信息。(可有可無(wú))。
-
小明帶著砍刀過(guò)去 -- 二號(hào)單片機(jī)執(zhí)行對(duì)應(yīng)的功能。
類似的情景用下方功能替換:(暫時(shí)用串口說(shuō)明)首先,你會(huì)看到 A 的 Tx 和 B 的 Rx 連接在一起。為什么要這樣呢?因?yàn)?Tx 相當(dāng)于嘴巴在說(shuō)話,而 Rx 相當(dāng)于耳朵,在聽別人說(shuō)話。把A的嘴巴用 導(dǎo)線 接到 B 的耳朵上,那么我們就可以把一些話說(shuō)給 B 聽了。相反。B 也可以說(shuō)話給 A 聽了。
-
A 單片機(jī)通過(guò) IO口 檢測(cè)到引腳電平變化
-
A 信息通過(guò) Usart串口 傳遞給 B 單片機(jī)
-
B 發(fā)現(xiàn) A 傳過(guò)來(lái)引腳變化的信息。
-
B 將小燈泡點(diǎn)亮。
=====================
那我們編程序大致就如下:
文件 A.c
文件 B.c
到此,只要 A 把 1 通過(guò)串口發(fā)送給 B,那么 B 就會(huì)把 IO 設(shè)置成低電平,這樣在電路上的表現(xiàn)形式就是,燈被點(diǎn)亮了。這也就實(shí)現(xiàn)了單片機(jī) A 控制單片機(jī) B 的效果。兩個(gè)單片機(jī)之間可以通信了。如果你再深入思考一下,如果你有什么辦法來(lái)替代電線,也就是 Tx 和 Rx 之間不需要有形的電線連接在一起,那么是不是就又實(shí)現(xiàn)了數(shù)據(jù)的無(wú)線傳輸了呢??