PIC单片机之通信协议

祁聪莹 15310116063

转载自:http://www.elecfans.com/news/wangluo/20171125586376.html,有删节

【嵌牛导读】:当人们晚上迷失在野外手上只有一个手电筒,此时有直升机飞过。人们用手电筒发出三短三长三短的光线。用这个国际通用的SOS求救信号,告诉飞行员来救你。人们规定的三短三长三短的光线,代表SOS就是一种通讯协议。

【嵌牛鼻子】:PIC单片机 通信协议

【嵌牛提问】:通信协议的种类有哪些?各有什么优缺点?

【嵌牛正文】:

单片机处理通讯协议的方法其实也类似。只不过用的不是光线而是电平。比如我们完全可以模仿SOS求救信号的方法。来创造属于自己的通讯协议。

例如:我们模仿SOS ,用高电平代替亮,用低电平代替暗。10MS(毫秒)为短,20MS为长。A单片机从一个I/O输出如下的电平。可以看出单片机输出了三短三长三短的的高电平。 B单片机从一个I/O接收如下的电平。当B单片机接收到信号的后,就可以根据程序做任何事,这个信号的代表什么,可以是SOS,可以开启一些设备,可以是一切的意思。A单片机可以运用这个协议,命令B单片机做任何事情。只要我们自己编程前先确定好就行。

PIC单片机之通信协议_第1张图片

所以说协议本身是很随意的,只要发送和接收双方事先规定好就行了。但是如果每家公司,每个人都定一个通信协议。这样协议就太多太乱。所以规定了几种通用的协议如USART,I2C,SPI,这样通信协议就能规范了。

我们稍稍讲解下关于通信协议的几个专业术语:

串行通讯和并行通讯。

如果我们手上有8个苹果,我们想丢给另一个人。你可以一个个丢,丢完一个再丢另一个,这就是串行通讯。你可以8个一起丢,这就是并行通讯。只是对于单片机丢的不是苹果而是位(bit)。

串行通讯只用一个数据(Data)线,发送数据所以只能一个个位的发送。

并行通讯要同时传递多少个位的数据,则用多少个数据线。

全双工通讯和半双工通讯。

简单的来说:比如两个人聊天,如果A说话,B只能听,B说话,A只能听。A 和B两个人不能同时说话,只能一方发出信息,另一方接收信息。双方不能同时发出信息这就是半双工。

如果两个人聊天,两个人可以同时说话,可以同时听。双方都以同时接收和发送这就是全双工。

异步和同步。

对于单片机而言,如果在同一个时钟下,动作和步调都是一致同步的。

如果不在同一个时钟下,动作和步调是不一致的是异步的。

如果想让两个单片机,进行同步通讯,就必须工作在同一个时钟下。所以它们之间连接着时钟线。如果它们之间没有时钟线连接,则说明是异步通讯。

你可能感兴趣的:(PIC单片机之通信协议)