【USART串口】
接下来说单片机中最常用的USART串口,USART串口的协议相比于I2C要简单很多,它没有地址的概念,也没有主设备、从设备的区别,用户可以自己定义地址和主从,不定义也可以,完全自由开放。正因为USART本身的协议简单,硬性规定少,所以它有很好的扩展性。如【图3】所示,USART串口可以有3种常用的通信方式。最基本的是TTL电平直接连接,多用于单片机与带有USART串口的模块通信。比如WIFI模块、GPS模块、蓝牙模块都支持USART串口。另外它还常用于单片机与电脑的通信,今后我们要用电脑给单片机下载程序,就是通过USART串口。
还有一种基于USART串口的扩展接口,叫RS232。它用于工业控制类设备的通信接口,常见于电脑和工控设备之间的通信。比如电脑与PLC(工控常用的可编程控制器)之间的通信就是RS232。RS232接口并没有改变USART串口的协议规范,而是通过专用的RS232转换芯片,把TTL的5V电平转换成了正负12V电平。因为电平电压的升高,通信的距离和稳定性都有所提高。RS232的连接线可达20米长,在干扰众多的工业场合使用依然稳定。但是随着工业技术的发现,20米的距离已经满足不了需要,于是市场上又出来了性能更好的RS485接口。RS485的通信线长度可达1000米,而且传输速度还要比RS232快很多。虽然RS232和RS485都可以挂接多个设备,可是因为RS232的通信距离太短,20米的距离内挂多个设备的意义不大。所以RS232多用于一对一通信,而RS485被用于多个设备挂接的总线,当然也可以一对一通信。RS485的应用非常广泛,高层住宅和商场里的电梯直梯就是用RS485连接各楼层,控制叫梯和显示楼层信息。是属于非常成熟的通信接口之一。但不论如何,RS232和RS485的协议还是USART,本质上是一个功能的不同扩展。STM32单片机内部只有支持USART协议的TTL电平的接口,如果想使用RS232或RS485需要外接一个芯片才能实现。【图3】所示是USART串口的三种通信形式。
STM32F103单片机上有3个USART串口,都支持DMA功能。其中USART1的速度可达4.5MB/S,其他可达2.5MB/S,算是相当快的速度。在8051单片机中也有一种叫UART的串口,少了一个S,它们是什么关系呢?其实USART的全称是同步/异步收发器,而UART是异步收发器,它们之间差了一个“同步”,USART接口比UART多了一个“USART_CK”的同步时钟线,可以同步时钟通信,但这个功能很少用到,所以它们在应用上并没有什么差别。
![](https://file.elecfans.com/web1/M00/D3/FF/o4YBAF_XvJeAEPsHAAEO4yVtabQ776.jpg)
【图3】USART串口电路连接示意图
【USART串口】
接下来说单片机中最常用的USART串口,USART串口的协议相比于I2C要简单很多,它没有地址的概念,也没有主设备、从设备的区别,用户可以自己定义地址和主从,不定义也可以,完全自由开放。正因为USART本身的协议简单,硬性规定少,所以它有很好的扩展性。如【图3】所示,USART串口可以有3种常用的通信方式。最基本的是TTL电平直接连接,多用于单片机与带有USART串口的模块通信。比如WIFI模块、GPS模块、蓝牙模块都支持USART串口。另外它还常用于单片机与电脑的通信,今后我们要用电脑给单片机下载程序,就是通过USART串口。
还有一种基于USART串口的扩展接口,叫RS232。它用于工业控制类设备的通信接口,常见于电脑和工控设备之间的通信。比如电脑与PLC(工控常用的可编程控制器)之间的通信就是RS232。RS232接口并没有改变USART串口的协议规范,而是通过专用的RS232转换芯片,把TTL的5V电平转换成了正负12V电平。因为电平电压的升高,通信的距离和稳定性都有所提高。RS232的连接线可达20米长,在干扰众多的工业场合使用依然稳定。但是随着工业技术的发现,20米的距离已经满足不了需要,于是市场上又出来了性能更好的RS485接口。RS485的通信线长度可达1000米,而且传输速度还要比RS232快很多。虽然RS232和RS485都可以挂接多个设备,可是因为RS232的通信距离太短,20米的距离内挂多个设备的意义不大。所以RS232多用于一对一通信,而RS485被用于多个设备挂接的总线,当然也可以一对一通信。RS485的应用非常广泛,高层住宅和商场里的电梯直梯就是用RS485连接各楼层,控制叫梯和显示楼层信息。是属于非常成熟的通信接口之一。但不论如何,RS232和RS485的协议还是USART,本质上是一个功能的不同扩展。STM32单片机内部只有支持USART协议的TTL电平的接口,如果想使用RS232或RS485需要外接一个芯片才能实现。【图3】所示是USART串口的三种通信形式。
STM32F103单片机上有3个USART串口,都支持DMA功能。其中USART1的速度可达4.5MB/S,其他可达2.5MB/S,算是相当快的速度。在8051单片机中也有一种叫UART的串口,少了一个S,它们是什么关系呢?其实USART的全称是同步/异步收发器,而UART是异步收发器,它们之间差了一个“同步”,USART接口比UART多了一个“USART_CK”的同步时钟线,可以同步时钟通信,但这个功能很少用到,所以它们在应用上并没有什么差别。
![](https://file.elecfans.com/web1/M00/D3/FF/o4YBAF_XvJeAEPsHAAEO4yVtabQ776.jpg)
【图3】USART串口电路连接示意图
举报