• STM32的USART


    USART:Universal Synchronous/Asynchronous Receiver/Transmitter通用同步异步收发器(STM32中就是这个)

    UART:通用异步收发器,

    当进行异步通信时,两个是没有区别的,区别在域USART比UART多了同步通信功能,这个同步通信功能可以把USART当做SPI来用,比如用USART来驱动SPI设备。USART支持同步模式,这时需要同步时钟信号USART_CK,也就是说USART和UART的区别之一就是能提供主动时钟,通常情况同步信号很少使用,因此一般的单片机USART和UART是一样的,都是用异步模式。

    STM32的USART的起始位应该不只是一个低电平,应该理解成下降沿加一个低电平。如下图,首先是检测一个下降沿,然后再进行两次三个点的采样。

    同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。  
    异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

    同步是阻塞模式,异步是非阻塞模式。

    其中SPI IIC为同步通信  UART为异步通信, usart为同步&异步通信。

     

    单工、半双工、全双工 
    单工数据传输只支持数据在一个方向上传输;
    半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;
    全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。
    I2C是半双工,SPI的全双工,uart是全双工。
    方便记忆的方法:I2C只有一根可以用来传输数据的线,SPI和UART都是有两根线可以传输,

    作者:cumtchw
    出处:http://www.cnblogs.com/cumtchw/
    我的博客就是我的学习笔记,学习过程中看到好的博客也会转载过来,若有侵权,与我联系,我会及时删除。

  • 相关阅读:
    Java 调用存储过程、函数
    Java BaseDao
    写好Java代码的30条经验总结
    15款Java程序员必备的开发工具
    Oracle基础 表分区
    Oracle基础 索引
    Oracle基础 触发器
    Oracle基础 程序包
    Oracle基础 自定义函数
    Oracle基础 存储过程和事务
  • 原文地址:https://www.cnblogs.com/cumtchw/p/6774635.html
Copyright © 2020-2023  润新知