串行通信(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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 常量表达式_JavaSwitch语句:常量表达式是必需的,但它是常量

    java 常量表达式_JavaSwitch语句:常量表达式是必需的,但它是常量万千封印我知道编译器需要在编译时知道表达式才能编译一个开关 但是为什么 foo ba 常数不是呢 虽然从字段初始化后执行的任何代码的角度来看 它们都是常量 但它们不是编译时间常数在 JLS 所要求的意义上 见 15 28 常量表达式的规格常数表达式 1 这指的是 4 12 4 最后变量它将 常量变量 定义为 我们称一个变量为原始类型或类型字符串 它是最终变量 并使用编译时常量表达式 15 28 初始化为常

    2025年10月26日
    3
  • allure安装配置「建议收藏」

    allure安装配置「建议收藏」一、下载allurehttps://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip二、检查本机是否有java的运行环境1、win+r输入cmd回车打开终端窗口打开效果入下2、输入java回车安装成功效果如下:安装未成功效果如下:3、输入javac回车…

    2022年7月26日
    14
  • PHP的安全性问题,你能说得上几个?

    PHP的安全性问题,你能说得上几个?

    2021年10月29日
    52
  • Spring+Spring MVC+MyBatis_java的图书管理系统

    Spring+Spring MVC+MyBatis_java的图书管理系统资源下载:https://download.csdn.net/download/weixin_44893902/35123371练习点设计:添加、删除、修改一、语言和环境实现语言:JAVA语言。环境要求:MyEclipse/Eclipse+Tomcat+MySql。使用技术:Jsp+Servlet+JavaBean或SpringMVC+Spring+Mybatis。二、实现功能为了方便学校对图书进行管理,开发一套BS结构的图书信息管理系统,主要功能如下:首页默认.

    2022年9月26日
    2
  • 怎么新建pytest的ini文件_qt读写配置文件

    怎么新建pytest的ini文件_qt读写配置文件前言pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行查看pytest.ini的配置选项pytest-h找到以下

    2022年7月30日
    5
  • AMD CPU电脑安装Android Studio详细步骤以及无法成功install HAXM的解决办法「建议收藏」

    AMD CPU电脑安装Android Studio详细步骤以及无法成功install HAXM的解决办法「建议收藏」想做个手机APP,安装Androidstudio遇到了各种各样的问题,这一切都源于电脑CPU是AMD的,经过各种各样方法的探索,终于找到了解决办法,成功安装了Andriodstudio及模拟器并成功运行了第一个程序Helloworld!下载Androidstudio国外网站下载比较慢,这里推荐一个下载网站,里面的资源很全,包括Android开发的AndroidSDK,开发中遇到的工…

    2022年6月28日
    172

发表回复

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

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