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