你有没有想过一个问题,我们现在都是在写一个单片机的程序,它也就像是一个人一样,他再厉害,他能单枪匹马的攻陷一个城池嘛?答案是否定了。你要是说手撕鬼子,飞檐走壁,空中抓子弹,然后可以一人下一城,那我无话可说。
那么,怎样让单片机不是一个人在工作呢?这就需要另外一个单片机,简称:小明 和 小红。让我们来想想一个场景,小红被其他小朋友欺负了,她刚好有小明的电话号码,她给小明打了一通电话, 说了一句,我被欺负了。小明只是淡淡的回复了一句:哦!(活该没有女朋友)。其实背地里,小明早已带着砍刀奔向了战场,但是为时已晚。。。小红早已伤心的离开了。所以,爱就要全部说出来,我们大男的何必这么含蓄呢(有点偏题了)。
分析以上故事:
-
小红被打 -- 一号单片机检测到引脚电平变化。
-
小红给小明打电话“我被欺负了”。 -- 一号和二号单片机之间传输信息。
-
小明回答“哦” -- 二号单片机返回应答信息。(可有可无)。
-
小明带着砍刀过去 -- 二号单片机执行对应的功能。
类似的情景用下方功能替换:(暂时用串口说明)首先,你会看到 A 的 Tx 和 B 的 Rx 连接在一起。为什么要这样呢?因为 Tx 相当于嘴巴在说话,而 Rx 相当于耳朵,在听别人说话。把A的嘴巴用 导线 接到 B 的耳朵上,那么我们就可以把一些话说给 B 听了。相反。B 也可以说话给 A 听了。
-
A 单片机通过 IO口 检测到引脚电平变化
-
A 信息通过 Usart串口 传递给 B 单片机
-
B 发现 A 传过来引脚变化的信息。
-
B 将小灯泡点亮。
=====================
那我们编程序大致就如下:
文件 A.c
文件 B.c
到此,只要 A 把 1 通过串口发送给 B,那么 B 就会把 IO 设置成低电平,这样在电路上的表现形式就是,灯被点亮了。这也就实现了单片机 A 控制单片机 B 的效果。两个单片机之间可以通信了。如果你再深入思考一下,如果你有什么办法来替代电线,也就是 Tx 和 Rx 之间不需要有形的电线连接在一起,那么是不是就又实现了数据的无线传输了呢??