一、串口通信的初步认识
通信,传统理解就是信息的传输与交换。单片机与单片机之间,单片机与电脑之间,以及单片机与各式各样的模块之间都可以进行通信。
如果没有通信,那么单片机的功能仅仅局限于它本身,它没办法从其他设备获取有用信息,也无法将自己产生的信息告诉其他设备,这样子单片机与外围器件的合作就会收到限制,没办法完成更多的功能,就像一个没办法拓展业务的公司。
通信分类:
1、并行通信:实现以字节为单位进行通信,同一时刻可以发送多个数据位的数据, 我们程序当中写的P0=0xFC,就是一次同时对8位进行信号的输出;习惯上,我们还称P0、P1、P2、P3为单片机的4组并行总线
2、串行通信:实现以位为单位进行通信,同一时刻只能发送一个数据位的数据,低位先发 高位在后,发送8次才能发送完一个字节
串口:串行接口的简称,一种通讯接口,也就是实现通信的工具,可以实现两个设备互相通信。 串口是一种泛称,UART、TTL、RS232、RS485都遵循类似的通信时序协议,这个协议在数据传输过程中控制数据流,包括数据位数、波特率等,因此它们都被称为串口。
(1)串口通信与串行/串口通信的区别:
所以,标题的UART串口通信指的是使用UART这个串口进行通信,也就是说串口通信也是一个泛称,即使用串口进行通信。而我们前面所说的串行和并行通信指的是通信所举行的方式。而接下来我们所说的UART串行通信指定就是:使用UART这个串口,以串行的方式进行通信。
(2)51单片机以什么为串口进行通信呢?——UART
51单片机内部自带UART(即通用异步收发器),可以实现单片机的串口通信。STC89C52中有两个引脚是专门用来做UART串行通信的,就是如下图所示的P3_0和P3_1,也叫做RXD和TXD。RXD(Receive external Data),即接收外部设备传来的数据,也称为串行接收数据的引脚。
TXD(Transmit Data),串行发送数据的引脚。
(3)两个单片机是如何通信的?
路径1:单片机1发送,单片机2接收