这里仅总结一下IO相关之UART ~持续更新 第6部的啊
# UART工作原理
UART即通用异步收发器,是一种串行通信方式。数据在传输过程中是通过一位一位地进行传输来实现通信的,串行通信方式具有传输线少,成本底等优点,缺点是速度慢。串行通信分为两种类型:同步通信方式和异步通信方式。
但一般多用异步通信方式,主要因为接受和发送的时钟是可以独立的这样有利于增加发送与接收的灵活性。异步通信是一个字符接着一个字符传输,一个字符的信息由起始位、数据位、奇偶校验位和停止位组成。
每一个字符的传输靠起始位来同步,字符的前面一位是起始位,用下降沿通知收方开始传输,紧接着起始位之后的是数据位,传输时低位在前高位在后,字符本身由5~8位数据位组成。
数据位后面是奇偶校验位,最后是停止位,停止位是用高电平来标记一个字符的结束,并为下一个字符的传输做准备。停止位后面是不同长度的空闲位。停止位和空闲位都规定为高电平,这样可以保证起始位有一个下降沿。
UART的帧格式如图:
UART的帧格式包括线路空闲状态(idle,高电平)、起始位(start bit,低电平)、5~8位数据位(data bits)、校验位(parity bit,可选)和停止位(stop bit,位数可为1、1.5、2位)。
UART模拟原理
UART的模拟方式基本就是定时器+IO口实现。
方案1:只打印不接收
如果在实际使用中只是为了打印log而不接收数据,可以采用DWT加普通IO口的方式;
方案2:半双工UART
实现方式: 普通定时器+普通IO口中断+fifo
# uart与usart区别 usart可以当uart用吗
uart与usart 区别
UART(Universal Asynchronous Receiver/Transmitter)和USART(Universal Synchronous/Asynchronous Receiver/Transmitter)是两种串行通信接口,常用于微控制器和外部设备之间的通信。它们的区别如下:
1. 同步通信支持:USART支持同步通信方式,可以通过外部时钟信号进行同步传输,而UART仅支持异步通信方式。
2. 时钟信号:USART在同步模式下需要外部提供时钟信号(例如,外部时钟源或主/从模式下使用另一个USART作为主时钟源),而UART不需要外部时钟信号,仅通过波特率发生器生成时钟。
3. 通信效率:由于USART支持同步通信,可以提供更高的通信速率,适用于高速通信要求。而UART由于使用异步通信,通信速率受限于波特率发生器的设置。
4. 数据传输方式:UART使用无时钟信号的异步传输方式,适用于简单的数据传输。USART则可以使用同步传输或异步传输,支持更多的通信方式。
USART实际上包含了UART的功能,并增加了支持同步通信的能力。在大多数微控制器中,UART通常是USART功能的一部分,USART可以配置为UART模式进行异步通信。
因此,如果只需要进行简单的异步通信,可以使用UART。而如果需要支持同步通信或更高的通信速率,可以选择使用USART。具体使用哪种接口,取决于您的应用需求和外部设备的要求。
usart可以当uart用吗
是的,USART可以用作UART。USART是通用的串行通信接口,可以在异步传输模式下使用,与UART具有相同的功能和使用方式。
USART可以配置为UART模式的几种通信方式,包括设置波特率、数据位数、停止位数、校验位等。只需将USART配置为异步模式并设置适当的参数,即可作为UART使用。
使用USART作为UART的好处是,它具有更大的灵活性和功能。例如,USART支持同步模式通信,可以更高的通信速率。如果采用UART的简单异步通信满足需求,也可以直接将USART配置为UART模式使用。
使用USART作为UART时,要注意正确配置USART的参数和时钟等设置,以保证与外部设备的通信正常和兼容。