串行通信(USART/UART)「建议收藏」

串行通信(USART/UART)「建议收藏」USART支持同步模式,因此USART需要同步始终信号USART_CK(如STM32单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。UART作为串口的一种,其工作原理也是将数据一位一位的进行传输,发送和接收各用一条线,因此通过UART接口与外界相连最少只需要三条线:TXD(发送)、RXD(接收)和GND(地线)**空闲位:**数据线在空闲状态的时候为逻辑“1”状态,也就是高电平,表示没有数据线空闲,没有数据传输。**起始位:**.

大家好,又见面了,我是你们的朋友全栈君。

  • USART支持同步模式,因此USART 需要同步始终信号USART_CK(如STM32单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。
  • UART 作为串口的一种,其工作原理也是将数据一位一位的进行传输,发送和接收各用一条线,因此通过 UART接口与外界相连最少只需要三条线:TXD(发送)、RXD(接收)和 GND(地线)

UART通讯格式

  • **空闲位:**数据线在空闲状态的时候为逻辑“1”状态,也就是高电平,表示没有数据线空闲,没有数据传输。
  • **起始位:**当要传输数据的时候先传输一个逻辑“0”,也就是将数据线拉低,表示开始数据传输。
  • **数据位:**数据位就是实际要传输的数据,数据位数可选择 5~8 位,我们一般都是按照字节传输数据的,一个字节 8 位,因此数据位通常是 8位的。低位在前,先传输,高位最后传输。
  • **奇偶校验位:**这是对数据中“1”的位数进行奇偶校验用的,可以不使用奇偶校验功能。
  • **停止位:**数据传输完成标志位,停止位的位数可以选择 1 位、1.5 位或 2 位高电平,一般都选择 1 位停止位。
  • **波特率:**波特率就是 UART 数据传输的速率,也就是每秒传输的数据位数,一般选择 9600、19200、115200 等。(bps)
  • 串口三种方式工作,轮询、中断和DMA;
    接收中断:串口一来数据,立刻中断响应,进入中断服务函数接收;
    查询发送:发送完一个字节,等待发送完,继续发送下个字节,直到整个字符串发送完,在这期间一直占用CPU;
    中断发送:发送完一个字节CPU响应中断将下个字节放到外设寄存器,直到整个字符串发完,发完后再相应中断,补货…,这样的话发送中断就只有在中断时占用CPU资源;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144690.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 详细完整MySQL8.0.23安装教程

    文章目录目录前言一、官网下载MySQL地址:https://dev.mysql.com/downloads/mysql/二、配置解压文件1.解压2.配置my.ini文件三、初始化四、安装启动mysql服务后续前言最近在做一个人脸识别的项目,需要用数据库保存学生信息与前段交互。MySQL的优点1、mysql性能卓越,服务稳定,很少出现异常宕机。2、mysql开放源代码且无版权制约,自主性及使用成本低。3、mysql历史悠久,社区及用户非.

    2022年4月11日
    209
  • Oracle 11g AMM与ASMM切换

    Oracle 11g AMM与ASMM切换现在的Oracle正在往智能化方向发展。如果我们现在找一些8i/9i时代的Oracle书籍,怎么样配置合适的数据库各内存池大小是非常重要的话题。但是进入10g之后,自动内存池调节成为一个重要Oracle特性。在10g时,Oracle推出了ASMM(AutomaticSharedMemoryManagement),实现了OracleSGA和PGA内部结构的自调节。进入11g之后,AMM(A…

    2022年5月3日
    46
  • mysql读写分离怎么实现(数据库读写分离实现)

    为什么要实现mysql读写分离大型网站为了解决大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别是数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,下面就进入我们今天的主题。​利用主从数据库来实现读写分离,从而分担主数据库的压力。在多个服…

    2022年4月17日
    182
  • C++ CString转int int转CString「建议收藏」

    1.CString转int    CStringstrtemp="100";  int intResult;  intResult=atoi(strtemp);  —————————————————————–   2int转CString     CStringstr…

    2022年4月6日
    241
  • hibernate之c3p0连接池配置详解

    hibernate之c3p0连接池配置详解数据库连接池,项目中一旦配置好后一般很少改动,所以很多人并没有细细的研究过(有时甚至是运维的人负责配置),其实这个知识点还是很重要的,所以我在这里总结分享下,需要用到的时候拿出来看看就可以啦。这里我们介绍的是c3p0的配置方式。

    2022年6月13日
    36
  • iPhone各机型屏幕尺寸

    iPhone各机型屏幕尺寸机型 尺寸 点(Point) pixel iPhone4/4s 3.5英寸 320×480 960×640 iPhone5/5s/SE 4.0英寸 320×568 640×1136 iPhone6/6s/7/8 4.7英寸 375×667 750×1334 iPhone6p/6sp/7p/8p 5.5英寸 414×736 1242×2208 iPhoneX/…

    2022年5月14日
    98

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号