机电传动控制 实验5串口通信实验.docxVIP

机电传动控制 实验5串口通信实验.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验五 串口通信实验 实验目的 掌握STM32F103串口一般的配置步骤; 掌握STM32串口相关寄存器的使用方法; 掌握STM32串口中断函数的编写方法 实验内容 在实验4的基础之上新建USART.c、USART.h文件实现串口发送与接收数据的功能并通过SsCom32串口调试软件实现上、下位机通信。 预备知识 并行通信、串行通信、单工、双工等相关概念; 异步通信与同步通信的概念以及区别 ; STM32串口相关寄存器的使用方法; 实验设备及工具 硬件:PC机、STM32开发板、JLINK_V8仿真器; 软件:KEIL MDK4.12、JLINK_V8驱动、SSCOM32串口调试助手。 实验原理及说明 串行接口简介: 串行接口分为“异步串行接口”和“同步串行接口”两种。 “异步串行接口”统称为“通用异步收发器接口UART”,具有同步功能的UART(包含时钟信号SCLK)称为“通用异步收发器接口USART”。 在异步通信方式发送字符时,所发送的字符之间的时间间隔可以是任意的,因此接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,因此必须在每个字符的开始和结束的地方加上标志,即加上停止位与起始位,以便接收端能够正确的将每个字符接收下来。而以同步通信方式通信的双方必须先建立同步,即双方的时钟要调整到一个频率。收发双方不停的发送和接收连续的同步比特流。 通用同步/异步串行收发器是一种能够把二进制数据按位传送的通信装置,其主要功能是在输出数据时,把数据进行并/串转换,即将8位并行数据送到串口输出;在输入数据时,把数据进行串/并转换,即从串口读入外部串行位数据,并将其转换为8位并行数据。 UART简介 UART的相关标准包括RS-232C、RS422、RS423和RS485等,其中RS-232C是最常用的串行通信标准。 RS-232C电气特性采用负逻辑:逻辑“1”的电平低于-3V,逻辑“0”的电平高于+3V,这和TTL的逻辑(逻辑“1”为高电平,逻辑“0”为低电平)不同,因此通过RS-232C和TTL器件通信时必须进行电平转换。 目前微控制器的UART接口采用的是TTL正逻辑,和TTL器件链接不需要电平转换。和采用负逻辑的计算机相连时需要进行电平转换,或使用UART-USB转换器链接。在实际使用中我们最常用的引脚只有三个:RXD(接收数据)、TXD(发送数据)和GND(地)。 STM32 USART框图 STM32的USART硬件结构如上图所示,接口通过RX(接收数据输入)、TX(发送数据输出)和GND三个引脚与其他设备连接在一起。 USART硬件结构可以分为以下4个部分: 1)发送部分和接收部分,包括相应的引脚和寄存器;收发控制器根据寄存器配置对数据村粗转移部分的移位寄存器进行控制。 当需要发送数据时,内核或DMA把数据从内存写入到发送数据寄存器TDR后,发送控制器将适时地自动把数据从TDR加载到发送移位寄存器中,然后通过串口线TX,把数据逐位的发送出去。在数据从TDR转移到移位寄存器时,会产生发送寄存器TDR已清空时间TXE;当数据从移位寄存器全部发送出去时,会产生数据发送完成事件TC,这些时间可以在状态寄存器中查询到。 接收数据则是一个逆过程,数据从串口线RX逐位的输入到接收移位寄存器中,然后自动的转移到接收数据寄存器RDR,最后用软件程序或 DMA读取到内存中。 2)发送器控制与接收器控制,包括相应的控制寄存器。围绕着发送器和接收器控制部分,有多个寄存器(CR1、CR2、CR3、SR),即USART的3个控制寄存器以及一个状态寄存器。通过向寄存器写入各种控制参数来控制发送和接收,如奇偶校验位、停止位等,还包括对USART中断的控制;串口的状态在任何时候都可以从状态寄存器中查询到。 3)中断控制。 4)波特率控制部分。 USART先关寄存器描述 波特比率寄存器(USART_BRR) 波特率是每秒钟传送二进制位数,单位为位/秒。波特率是串行通信的重要指标,用于表征数据传输的速度,但与字符的实际传输速度不同。字符的实际传输速度是指每秒钟内所传字符帧的帧数,与字符帧格式有关。例如,波特率为1200b/s的通信系统,若采用11数据为字符帧,则字符的实际传输速度为1200/11=109.09帧/秒,每位的传输时间为1/1200s。 波特率是通过USART_BRR寄存器来设置的,包括12位整数部分和4位小数部分。 伯特利息计算公式为: 波特率=fpclk/(16*USARTDIV); 其中fpclk是给外设的时钟,PCLK1用于USART2、3、4、5,PCLK2用于USART1,USARTDIV是一个无符号的定点数,它的值可以由串口的BRR寄存器得到,那么在给定的条件下,我们如何从USARTDIV的值得到USART_BRR的值

文档评论(0)

卖报的小行家 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档