博主在最近的项目里遇到了需要使用USART串口来通信的功能,首先USART和UART有一点很不一样的地方就是:
UART:universal asynchronous receiver and transmitter通用异步收发器
[Bus Signal] TX , RX
USART:universal synchronous asynchronous receiver and transmitter通用同步异步收发器
[Bus Signal] TX, RX, CK
USART支持同步模式,因此USART 需要同步始终信号USART_CK(如STM32 单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。
在博主目前的项目中使用通信主要是通过RS485协议来进行通信,RS485通信是工业上非常常见的半双工异步通信典型通信协议,特征是通信的设备都挂载到主线上,使用差分信号来判断收发,且同一时刻只能进行一个功能(收信息或者发信息)那么在博主这边的软件处理方式如下;
首先要构想整个项目通过485通信的基本框架:定义信号口(因为485不是UART有TXRX);然后初始化USART--设定波特率,传输的数据数,使能IO口,以及设定是否设定奇偶校验位等等。信号传输是否有自动收发设定》?如果有的话那么是否要写一个接受完全,发送完全的中断?等等。。根据不同的项目可能会有不同的需求。这些都要事先想好来。
(1ÿ