版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
串行通信设计与实现项目三任务一串行通信基本知识目录一、串行通信基本概念三、串行端口硬件五、串行数据传输模式七、串行通信的方式二、串行通信协议四、串行通信软件六、串行通信关键参数串行通信是一种数据传输方式,数据在一条线路上按顺序一位一位地传输。并行通信数据在多条线路上按顺序同时传输。一、串行通信基本概念串行通信具有硬件简单、成本低廉、适用于远距离通信等优点,传输速率较慢。并行通信与串行正好相反。二、串行通信协议串行通信需要遵循一定的协议,以确保数据的正确传输。常见的串行通信协议包括RS-232、RS-485、SPI等。这些协议规定了数据传输的格式、信号线的定义以及传输方式等。针脚定义符号载波检测DCD接收数据RXD发送数据TXD数据终端准备好DTR信号地SG
常用235引脚数据准备好DSR请求发送RTS清除发送CTS振铃提示RI二、串行通信协议实现串行通信需要硬件的支持,其中最常见的硬件设备是串行端口。串行端口是计算机上的一个物理接口,可以通过它来连接外部设备,实现数据的传输。三、串行端口硬件常见的串行端口包括COM1、COM2等,单片机、嵌入式串口包括UART、USART。为了实现串行通信,我们需要使用相应的软件进行调试或下载。这些软件可以用来配置串行端口、设置通信参数以及发送和接收数据等。常见的串行通信软件包括超级终端、串口调试助手等。四、串行通信软件五、串行数据传输模式串行通信的数据传输模式分为异步模式和同步模式。异步模式是指数据传输过程中每个字符独立于其他字符进行发送。同步模式是指多个字符一起进行传输,需要使用时钟信号来同步。根据实际需要选择合适的数据传输模式。异步通信在异步通信中,数据通常是以字符(字节)为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,每一帧数据是低位在前,高位在后,通过传输线被接收端一帧一帧地接收。字符帧也称为数据帧,由起始位、数据位、奇偶校验位和停止位等4部分组成。五、串行数据传输模式串行通信基本知识同步通信同步通信是一种连续串行传送数据的通信方式,一次通信只传输一帧信息。信息帧和异步通信的字符帧不同,通常有若干个数据字符。(1)单同步字符帧格式:(2)双同步字符帧格式:波特率是指串行通信中数据传输的速度,用每秒钟传输的位数表示。如:4800bit/s、9600bit/s、19200bit/s、38400bit/s、115200bit/s。六、串行通信关键参数数据位是指传输的数据中包含的位数,常见的有5位、7位和8位,通常使用8位数据位。停止位用于标识一帧数据的结束。校验位用于检测数据传输过程中可能出现的错误,常见的校验方式有奇校验O、偶校验E、无校验N。串行通信按数据传输的方向及时间关系可分为:单工、半双工和全双工。七、串行通信的方式1.单工通信通信线的一端接发送器,一端接接收器,数据只能按照一个固定的方向传送,单方向如:收音机。2.半双工通信系统的每个通信设备都由一个发送器和一个接收器组成,数据传送可以沿两个方向,但需要分时进行,如:对讲机。3.全双工通信系统的每端都有发送器和接收器,可以同时发送和接收,即数据可以在两个方向上同时传送,如:手机。串行通信设计与实现项目三任务一STM32的USART串口及相关函数目录具体结构寄存器相关函数
通讯设计STM32拥有3路USART串口,串口资源丰富、功能强劲,其与传统的51单片机串口(UART)、PC的RS232还有一定的区别。USART(通用同步/异步串行收发器)是以二进制数据按位(bit)传送。一、认识STM32的USART串口STM32的USART串口使用异步串行数据格式进行外部设备之间的全双工数据交换。USART串口利用分数波特率发生器提供宽范围的波特率选择,并支持局部互连网LAN、智能卡协议和IrDASIRENDEC规范,还具有用于多缓冲器配置的DMA方式,可以实现高速数据通信。USART串口硬件连接USART串口是通过RX(接收数据串行输入)、TX(发送数据输出)和地3个引脚与其他设备连接在一起的。一、认识STM32的USART串口USART1串口的TX和RX引脚使用的是PA9和PA10;USART2串口的TX和RX引脚使用的是PA2和PA3;USART3串口的TX和RX引脚使用的是PB10和PB11;这些引脚默认的功能都是GPIO,在作为串口使用时,就要用到这些引脚的复用功能,在使用其的复用功能前,必须对复用的端口进行设置。二、STM32串口的相关寄存器波特率寄存器USART_BRR决定串行通信的收发波特率控制寄存器USART_CR1决定串行通信的收发控制信号数据寄存器USART_DR决定串行通信的数据位和校验位状态寄存器USART_SR决定串行通信的收发状态
这四个寄存器决定串行通信的数据传输速率、格式,收发控制、状态。实现和库函数对应关系。三、STM32串口的相关函数通常串口设置步骤可以有以下几个步骤:串口时钟使能,GPIO时钟使能;串口复位;GPIO端口模式设置;串口参数初始化;开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤);使能串口;编写中断处理函数。1.使能USART串口的时钟USART1串口是挂载在APB2(高速外设)的外设,USART2和USART3串口是挂载在APB1(低速外设)的外设。2.设置GPIO复用端口使能GPIOx的时钟;TX用来发送数据,设置成复用功能的推挽输出(AF_PP);RX用来接收数据,设置成浮空输入(IN_FLOATING)。USART1串口的TX和RX引脚使用的是PA9和PA10,USART2串口的TX和RX引脚使用的是PA2和PA3,USART3串口的TX和RX引脚使用的是PB10和PB11,这些引脚默认的功能都是GPIO。三、STM32串口的相关函数3.串口复位串口复位是在USART_DeInit()函数中完成,例如复位USART2串口的代码如下:USART_DeInit(USART2);//复位串口2三、STM32串口的相关函数4.初始化和使能串口初始化主要是配置串口的波特率、校验位、停止位和时钟等基本功能,是通过USART_Init()函数来实现的;USART_Cmd(USART2,ENABLE);串口使能是通过函数USART_Cmd()来实现的。例如USART2串口使能代码如下:三、STM32串口的相关函数5.数据发送和接收USART串口发送数据是通过USART_SendData()函数,来操作USART_DR寄存器发送数据的;
例如向串口2发送数据代码如下:USART_SendData(USART2,USART_TX_BUF[t]);USART串口接收数据是通过USART_ReceiveData()函数,来操作USART_DR寄存器读取串口接收到的数据。
例如读取串口2接收到的数据代码如下:Res=USART_ReceiveData(USART2);三、STM32串口的相关函数6.完成发送和接收数据的状态位通过读取串口的USART_SR状态寄存器,然后根据USART_SR的第5位(RXNE)和第6位(TC)的状态来判断。判断读寄存器是否非空(RXNE)。当RXNE位被置1时,说明串口已有数据接收到了,并可以读出来。代码如下:USART_GetFlagStatus(USART1,USART_FLAG_RXNE);判断发送是否完成(TC)。当该位被置1时,说明USART_DR内的数据已经发送完成了。代码如下:USART_GetFlagStatus(USART1,USART_FLAG_TC);三、STM32串口的相关函数7.开启串口响应中断串口接收到数据时(RXNE读数据寄存器非空),产生中断。例如开启USART1串口接收到数据中断的代码是://开启中断,接收到数据中断USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);USART_ITConfig(USART1,USART_IT_TC,ENABLE);串口在发送数据结束时(TC发送完成),产生中断。例如开启USART1串口发送完数据中断的代码如下:三、STM32串口的相关函数8.获取相应中断状态在使能了某个中断时,当该中断发生,就会设置状态寄存器中的某个标志位。在中断处理函数中,要判断该中断是哪种中断。USART_GetITStatus(USART1,USART_IT_TC);例如,使能了USART1串口发送完成中断,当中断发生,便可以在中断处理函数中调用这个函数,来判断到底是否是串口发送完成中断,代码如下:其返回值是SET,说明是发生了串口发送完成中断。三、STM32串口的相关函数四、STM32的USART1串口通信设计根据任务要求,STM32的USART1串口通信过程如下:usart.c文件主要包括支持printf函数代码、串口初始化函数和串口中断服务函数等。计算机通过串口助手发送数据给STM32;STM32接收到数据,就会进入接收数据串口中断,读取DR寄存器中接收到的数据;然后将接收到的数据,再通过串口发回计算机。编写usart.h头文件和usart.c文件。STM32的USART1串口通信代码,见源程序。串行通信设计与实现项目三任务二虚拟终端认识虚拟终端认识串行虚拟终端的添加1.CTS
清除发送2.RTS
请求发送3.TXD发送数据4.RXD接收数据
串行虚拟终端认识串行虚拟终端的参数设置1.元件符号设置
VT12.波特率设置96003.数据位设置84.奇偶检验位无5.停止位
16.软件握手
NO串行虚拟终端认识串行虚拟终端仿真线路连接1.VT1的TXD发送--------VT2的RXD接收2.VT1的RXD接收--------VT1的TXD接收3.VT2与VT1虚拟终端参数设置要一样串行虚拟终端认识串行虚拟终端认识串行虚拟终端仿真运行显示参数设置运行后,右击虚拟窗口弹出下图ClearScreen
Pause
Copy
Paste
EchoTypedCharacters
HexDisplayMode
SetFont
清屏暂停复制粘贴字符显示十六进制显示设置显示字体串行虚拟终端认识字符传输与显示设置EchoTypedCharacters
字符显示
串行虚拟终端认识VT1字符发送VT2十六进制显示VT2十六进制显示VT1字符发送VT1发送1字符时VT2接收到1字符的ASCII码为十六进制31八位二进制。VT1发送张字符时VT2接收到张字符的ASCII码为十六进制D5C5十六位二进制。串行虚拟终端认识VT1十六进制发送VT2字符显示利用:虚拟终端与STM串口相连,控制和监视串行通信。
串行虚拟终端认识仿真运行时,无法显示虚拟串口调试窗口设置串行通信设计与实现项目三任务二STM32与虚拟终端通信STM32与虚拟终端通信通信效果图STM32与虚拟终端通信硬件绘制、加载软件虚拟终端TXD做发送连接32主机PA10的接收;虚拟终端R(TXD)监视虚拟终端TXD发送信息;虚拟终端RXD接收32主机PA9发送的信息。STM32与虚拟终端通信通信参数设置虚拟终端显示参数设置STM32与虚拟终端通信软件文件夹、文件名、修改、添加1.复制前面任一软件文件夹,修改工程名为usart32,新建文件夹SYSTEM用于存放串行通信的.c文件和.h文件。2.打开USER文件夹下.c文件,修改文件名为Usart32。3.在SYSTEM文件夹下新建usart文件文件夹,新建usart.c文件和usart.h头文件。STM32与虚拟终端通信软件包含路径的设置:点击工具栏目标选项STM32与虚拟终端通信项目文件夹、文件名、修改、添加
1.工程文件目录名的修改。2.USER文件目录下原.c文件的删除,Usart.c文件的添加。3.新建SYSTEM文件目录。4.在SYSTEM文件目录下添加usart.c。STM32与虚拟终端通信软件文件结构设计:串行通信完成与外设备进行数据交换和信息传递功能,需要自行编写的代码较多,需另建SYSTEM文件夹来存放usart.c文件和usart.h。1.Usart32.c文件头文件包含、主函数、数据的接收和发送。2.usart.c文件串行通信初始化、中断优先控制设置、串行中断服务函数。3.usart.h文件预处理(条件编译、包含、宏定义、全局变量、串行初始函数申明)。STM32与虚拟终端通信串行通信子函数的工作流程
串口时钟使能,GPIO时钟使能;串口复位;GPIO端口模式设置;串口参数初始化;开启中断并且初始化NVIC使能串口;编写中断处理函数。课程小结串行通信的硬件设计和效果展示1串行通信的软件结构设计2串行通信子函数的工作流程3串行通信设计与实现项目三任务二串口代码解读软件代码组成:串口代码解读Usart32.c主函数与usart.c(usart.h)中断函数。
Usart32.c文件一头文件、包含主函数、数据的接收和发送。
usart.h头文件二预处理(条件编译、包含、宏定义、全局变量、串行初始函数申明)。
usart.c文件三串行通信初始化、中断优先控制设置、串行中断服务函数。一、Usart32.c主函数头文件声明串口代码解读Usart32.c主函数
主函数串口代码解读Usart32.c主函数二、usart.h头文件extern可以置于变量/函数之前,表示该变量/函数已在别的文件中定义过,提示编译器,在其他的文件中查找。extern可以多次声明在多个文件中,但定义这个变量仅有一次。目的是是该变量可以在多个文件使用,变量值在某一文件修改后,其他文件中的该变量值也发生改变,通常说的全局变量,一处.c文件定义,其他多处.c文件外部定义。串口代码解读usart.h头文件extern可以置于变量/函数之前,表示该变量/函数已在别的文件中定义过,提示编译器,在其他的文件中查找。extern可以多次声明在多个文件中,但定义这个变量仅有一次。目的是是该变量可以在多个文件使用,变量值在某一文件修改后,其他文件中的该变量值也发生改变,通常说的全局变量,一处.c文件定义,其他多处.c文件外部定义。三、usart.c文件串口代码解读usart.c文件串口代码解读usart.c文件串口代码解读usart.c文件串口代码解读usart.c文件课堂总结
读功能第一步注程序串行通信实现的功能,重点注写与硬件接口相对应功能。
读流程第二步注程序子函数、中断服务函数实现的功能,重点注写主函数调用子函数、中断服务函数的流程及功能。
读语句第三步注程序本语句或几条语句组合实现在函数中的功能,重点注写该语句在函数的作用。
理层次读写思改调拓达目的串行通信设计与实现项目三
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵阳职业技术学院《房地产项目投资与融资》2023-2024学年第一学期期末试卷
- 2025年天津建筑安全员-C证考试(专职安全员)题库附答案
- 2025河南省安全员-C证考试(专职安全员)题库附答案
- 贵阳康养职业大学《社会危机管理》2023-2024学年第一学期期末试卷
- 广州中医药大学《普通化学及实验》2023-2024学年第一学期期末试卷
- 2025山西建筑安全员考试题库
- 广州医科大学《体育产业学》2023-2024学年第一学期期末试卷
- 广州现代信息工程职业技术学院《汽车拖拉机构造学》2023-2024学年第一学期期末试卷
- 2025云南省安全员-C证考试题库
- 2025江西省安全员A证考试题库
- 2024-2025学年乌鲁木齐市数学三上期末检测试题含解析
- 2025年初级经济师之初级经济师基础知识考试题库及完整答案【全优】
- 2024年度服装代言合同:明星代言服装品牌拍摄广告协议
- 五年高考真题(2020-2024)分类汇编 政治 专题19 世界多极化 含解析
- GB 30254-2024高压三相笼型异步电动机能效限定值及能效等级
- 非物质文化遗产拓印 课件
- 2022年杭州市建设行业职业技能竞赛装配式建筑施工员赛项技术文件
- 2022年部编版四年级道德与法治上册全册教案
- 管束干燥机使用说明书
- 三轴试验报告(共12页)
- 监控系统自检报告
评论
0/150
提交评论