版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式原理与应用集成电路学院
嵌入式课程组STM32USART串口通信项目66.1通信概述01通信04STM32单片机优势03串行通信的波特率02串行通信掌握串行通信的制式。掌握串行通信方式。了解串行通信的波特率。。任务内容:任务要求:通信01通信单片机与外部设备之间的信息交换称为通信。通信可以分为并行通信和串行通信。并行通信:多位数据可以同时进行传输,通信速度快;但若通信距离较长,传输线路的成本会随之增加,另外,多位数据在远距离传输中也容易产生信号干扰。因此,并行通信适合短距离的数据通信。串行通信:数据在一根数据信号线上一位一位的进行传输,传输速度较慢,但只需一根数据信号线。串行通信可以节约通信成本,在远距离数据通信中应用十分广泛。串行通信02串行通信1.串行通信的制式串行通信根据数据的传送方向可分为单工、半双工和全双工三种制式。单工:在通信时,只允许数据向一个方向传送。半双工:通信双方都能够收、发数据,但在同一时刻只能向一个方向传送数据。全双工:通信双方都能够收、发数据,而且允许同时双向传送数据。因此,全双工需配置两根传输线。串行通信2.串行通信的方式有同步通信和异步通信两种(1)异步通信异步通信适用于信息量小,随机发送、接收数据的场合。异步通信以帧为单位进行数据传送,一帧信息由起始位、数据位、奇偶校验位和停止位组成。起始位:位于一帧信息的开头,占1位,低电平,标志传送数据的开始。数据位:要传送的数据,紧跟在起始位之后,由低位到高位依次传送。奇偶校验位:位于数据位之后,占1位,用于校验发送数据的正确性。停止位:位于一帧的末尾,占1~2位,为高电平,表示数据传送完毕。串行通信(2)同步通信同步通信适用于传送数据量大、传送速度要求较高的场合。同步通信时,每个数据块传送开始前,接收端和发送端必须先建立同步(即双方的时钟要调整到同一个频率),才能进行数据的传输。采用一到两个同步字符作为起始标志,接收端把接收到的字符和双方约定的同步字符比较,只有相同后才开始接收同步字符后的数据块。同步通信以数据块为传输单位连续地传送数据,数据之间不留间隙,因而数据传输速率高于异步通信,但同步通信对硬件要求较高,常见的同步通信方式有I2C,SPI通信。串行通信的波特率03串行通信的波特率波特率(BaudRate)是指单位时间内传输的比特数,通常以每秒传输的比特数(bps)来表示。波特率决定了数据信号的传输速率,在串行通信中是非常重要的一个参数。发送端和接收端必须使用相同的波特率,以确保数据能够正确地被接收和解析。如果两端的波特率不匹配,就会导致数据传输错误,甚至无法正常通信。常见的波特率包括9600bps、115200bps等,选择合适的波特率取决于通信双方的需求和通信环境。较低的波特率通常用于较长距离或较差的信号传输条件下。较高的波特率可以实现更快的数据传输速率,但同时也需要更高的通信稳定性和可靠性。在STM32微控制器中,通过设置USART模块的波特率寄存器来配置波特率,以实现串行通信。选择适当的波特率是保证通信质量和稳定性的关键步骤之一。6.2STM32单片机的USART01USART介绍03USART常用寄存器02USART功能了解USART的工作特点。了解USART的功能。了解USART常用寄存器的重要位。任务内容:任务要求:USART介绍01USART介绍USART(UniversalSynchronousAsynchronousReceiverTransmitter)是一种通用的串行通信接口,广泛应用于单片机、微处理器和其他数字电路中。它可以实现同步和异步两种通信方式,支持全双工通信,能够在单个通信线上同时发送和接收数据。USART介绍USART的具有以下特点:通用性:USART是通用的串行通信接口,可以用于与各种外部设备和其他微控制器进行数据交换。同步和异步通信:USART支持同步和异步两种通信模式。在同步模式下,发送和接收端使用共享的时钟信号
进行数据传输,而在异步模式下,发送端和接收端使用各自的时钟信号进行数据传输。全双工通信:USART支持全双工通信,即发送端和接收端可以同时进行数据传输,不受发送和接收的顺序限制。波特率可调:可以通过设置USART的波特率寄存器来调整通信的速率,以适应不同的通信需求和环境。数据格式灵活:USART支持多种数据格式,包括数据位数、校验位和停止位等的配置,可以根据具体的通信需求
选择合适的数据格式。硬件流控制:USART通常支持硬件流控制功能,包括RTS(RequesttoSend)和CTS(CleartoSend)信号,
用于控制数据的流动,提高通信的稳定性和可靠性。中断和DMA支持:USART可以通过中断或直接内存访问(DMA)方式来进行数据传输和处理,提高通信的效率和灵活性。USART功能02USART功能USART(通用同步异步收发器)是通用的串行通信接口,用于单片机和其他数字电路之间的数据传输。它通过三个引脚与其他设备连接在一起,至少需要两个引脚来实现双向通信,接收数据输入(RX)和发送数据输出(TX)。RX(接收端):接收串行输入数据。TX(发送端):发送串行输出数据。当发送端被启用但不发送数据时,TX引脚处于高电平空闲状态。USART功能通信协议:数据传输遵循一定的通信协议,如总线处于空闲状态、一个起始位、一个数据字(8或9位,最低有效位在前)、0.5、1.5或2个停止位等。分数波特率发生器:支持12位整数和4位小数的表示方法,用于调整通信速率。寄存器:USART具有多个寄存器,包括状态寄存器(USART_SR)、数据寄存器(USART_DR)、波特率寄存器(USART_BRR)和智能卡模式下的保护时间寄存器(USART_GTPR)。USART常用寄存器03USART常用寄存器使用STM32的USART串口通信时,常用的寄存器有USART_SR(状态寄存器),USART_DR(数据寄存器)和USART_BRR(波特率寄存器)。USART_SR是STM32中USART模块的状态寄存器,用于指示USART的状态和标志位,以下是USART_SR寄存器的一些重要位。接收数据就绪(RXNE):当接收到新的数据并存入接收数据寄存器(USART_DR)时,此位会被置位。发送数据寄存器空(TXE):当发送数据寄存器(USART_DR)为空且数据可发送时,此位会被置位。发送完毕(TC):当发送的最后一个数据位被发送完成后,此位会被置位。用于指示数据发送完毕。帧错误(FE):当接收到的数据帧中出现帧错误时,此位会被置位。噪声错误(NE):当接收到的数据帧中检测到噪声错误,此位会被置位。溢出错误(ORE):当接收数据寄存器(USART_DR)溢出时,此位被置位。USART常用寄存器USART_DR用于存放接收到的数据以及待发送的数据,对USART_DR的读写操作会触发数据的接收和发送。USART_BRR用于配置USART的波特率,它包含了分频器的设置,用于生成通信时钟,USART的通信速率由波特率寄存器中的值决定。这些寄存器在USART通信过程中起着重要的作用,用于指示状态、存储数据和配置通信速率。6.3USART应用01绘制仿真电路04UART发送代码03相关函数02USART初始化能绘制USART发送仿真电路。能对USART进行初始化设置。能编写USART发送代码。任务内容:任务要求:绘制仿真电路01绘制仿真电路在Proteus中新建基于STM32F103C8的工程,绘制仿真电路图,如图所示,仿真电路中PA9作为串行发送口(TXD)发送数据,我们用Proteus提供的虚拟仪器“VirtualTerminal”虚拟终端作为接收设备接收PA9发送的信息。绘制仿真电路Proteus提供的虚拟终端,它能够和单片机进行异步串行通信。虚拟终端具有双线串行数据接口:RXD用于接收数据,TXD用于发送数据。硬件握手接口:RTS用于准备发送,CTS用于清除发送。波特率从110到57600波特。7或8个数据位。奇偶校验,奇偶校验或无奇偶校验。0、1或2个停止位,打开虚拟终端的编辑元件对话框,如图所示设置波特率、数据位、校验位和停止位。USART初始化02USART初始化打开STM32CubeIDE软件,新建一个基于STM32F103C8单片机的“STM32Project”工程将系统时钟频率设置为72MHz,并配置“USART1”。在“connectivity”里选择USART,STM32F103C8单片机提供了三个USART,本任务中选择“USART1”。在右侧“USART1ModeandConfiguration”中选择通信模式为“Asynchronous”异步通信。选择之后STM32F103C8单片机引脚图会自动将PA9设置为“USART1_TX”,PA10设置为“USART1_RX”。USART初始化串行通信的收发双方必须遵循相同的通信协议才能够正常通信,在“parameterSettings”参数设置如图所示,进行“USART1”的配置。相关函数03相关函数HAL_StatusTypeDefHAL_UART_Transmit(UART_HandleTypeDef*huart,constuint8_t*pData,uint16_tSize,uint32_tTimeout);功能:用于通过UART发送数据。参数:①huartUART句柄,指定了要使用的UART外设。②pData指向要发送数据的缓冲区的指针。③Size要发送的数据的字节数。④Timeout发送超时时间,单位为毫秒。如果设置为0,则函数在发送完所有数据后立即返回。返回值:函数执行的状态,通常是HAL_OK或者HAL_ERROR。相关函数HAL_StatusTypeDefHAL_UART_Receive(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize,uint32_tTimeout);功能:用于通过UART接收数据。参数:①huartUART句柄,指定了要使用的UART外设。②pData指向用于存储接收数据的缓冲区的指针。③Size要接收的数据的字节数。④Timeout接收超时时间,单位为毫秒。如果设置为0,则函数在接收到所有数据后立即返回。返回值:函数执行的状态,通常是HAL_OK或者HAL_ERROR。相关函数HAL_StatusTypeDefHAL_UART_Transmit_IT(UART_HandleTypeDef*huart,constuint8_t*pData,uint16_tSize);功能:用于通过UART发送数据,采用中断方式进行发送。参数:①huartUART句柄,指定了要使用的UART外设。②pData指向要发送数据的缓冲区的指针。③Size要发送的数据的字节数。返回值:函数执行的状态,通常是HAL_OK或者HAL_ERROR。说明:此函数启动发送操作,并使UART发送完成中断(TXE)使能,一旦发送完成,将触发中断并调用相应的中断处理函数。相关函数HAL_StatusTypeDefHAL_UART_Receive_IT(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize);功能:用于通过UART接收数据,采用中断方式进行接收。参数:①huartUART句柄,指定了要使用的UART外设。②pData指向用于存储接收数据的缓冲区的指针。③Size要接收的数据的字节数。返回值:函数执行的状态,通常是HAL_OK或者HAL_ERROR。说明:此函数启动接收操作,并使UART接收完成中断(RXNE)使能,一旦接收到数据,将触发中断并调用相应的中断处理函数。UART发送代码04UART发送代码普通方式UART发送代码UART发送代码中断方式UART发送代码UART发送代码仿真结果6.4实战演练-USART收发控制LED01绘制仿真电路03编写代码02串口助手掌握通过STM32CubeMX初始化USART的流程。掌握UART输入、输出代码的编写方法。掌握串行通信相关软件的使用方法。任务内容:任务要求:绘制仿真电路01绘制仿真电路利用Proteus中的“COMPIM”和虚拟串口软件将仿真系统中的STM32F103C8单片机与计算机进行虚拟串行连接,通过串口助手实现计算机和单片机间的异步串口通信。STM32F103C8单片机的PB0连接LED,USART1连接“COMPIM”,编程实现计算机向单片机发送“A”时LED点亮,单片机向计算机发送反馈信息“LED_ON”;计算机向单片机发送“S”时LED熄灭,单片机向计算机发送反馈信息“LED_OFF”。在Proteus中新建基于STM32F103C8的工程,绘制仿真电路图,如图所示。绘制仿真电路在Proteus中,“COMPIM”是用于模拟串口通信的器件。它模拟了计算机与外部设备之间的串口通信,可以模拟串口发送和接收数据的过程。通常用于仿真串口通信的过程,方便在软件开发过程中进行调试和验证。绘制仿真电路项目仿真需要用到虚拟串口软件,该软件的作用是将Proteus中的“COMPIM”模拟串口与串口助手进行虚拟连接,方便实现UAST收发仿真调试。虚拟串口软件如图所示,已经创建了一组虚拟串口COM1和COM2,它们之间可以进行串
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏徐州徐工液压件有限公司招聘55人笔试历年备考题库附带答案详解
- 2026年马鞍山安徽和州控股集团有限公司公开招聘工作人员10名笔试历年备考题库附带答案详解
- 2026年度南平市武夷山水品牌运营管理有限公司正式员工招聘14人笔试历年典型考点题库附带答案详解
- 2026年东航股份市场营销部招聘笔试历年难易错考点试卷带答案解析
- 2026四川攀枝花华润水电开发有限公司社会招聘校园招聘8人笔试历年难易错考点试卷带答案解析
- 2026内蒙古呼和浩特鑫睿扬金属材料检测有限公司招聘75人笔试历年备考题库附带答案详解
- 2026年云南省景洪市高二化学下册期末考试模拟卷含答案(预热题)
- 2026年湖南省韶山市高二化学下册期末考试模拟考试卷必考题附答案
- 2026年吉林省图们市高二化学下册期末考试模拟测试卷有完整答案
- 2026年云南省泸水市高二化学下册期末考试模拟试卷及参考答案【研优卷】
- 2026年内蒙古自治区呼和浩特市初二学业水平地理生物会考试题题库(答案+解析)
- 人教版六年级下册数学思维拓展题型专项练习(含答案)
- JBT 14159.1-2022 空气分离设备能效限额 第1部分:外压缩流程设备
- 服务临床一线工作制度
- 产后专科工作制度
- 环境损害司法鉴定工程师岗位招聘考试试卷及答案
- 2026年英国a-level考试试题
- 碎石加工场安拆施工方案
- 有限空间作业监理实施细则
- 水产品质量安全监管细则培训
- 投资分析师金融行业绩效考评表
评论
0/150
提交评论