STM32UART详细使用说明整理.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32UART详细使用说明整理

STM32 UART整理说明 该接口通过3个引脚连接到另外的外部设备上。 任何USART双向通信都至少需要两个引脚:接收数据输入RX和发送数据输出TX 当发送器禁能时输出引脚恢复到I/O端口配置。当发送器使能时且无数据发送,TX引脚为高电平。 字长可以通过设置USART_CR1寄存器中的M位来选择是8位还是9位 TX引脚在起始位期间为低,停止位期间为高 空闲符被认为是一个全“1”的帧,其后紧跟着包含数据的下一个帧的起始位(“1”的数目包含了停止位的数目) 间隙符被认为是一个帧周期都接收到“0”。在间隙帧之后,发送器插入1个或者2个的停止位(逻辑“1”)来应答起始位 发送器 发送器可以发送8或者9位的数据字,这取决于M位的状态。相关时钟脉冲在SCLK引脚输出 1、字符发送 USART发送期间,TX引脚先出现最低有效位。这种模式下,USART_DR寄存器包含了一个内部总线和发送移位寄存器之间的缓冲区TDR。每个字符之前都有一位逻辑低电平的起始位,以可设置数目的停止位结束。 TE位使能之后将发送一个空闲帧 2、可配置的停止位 1个停止位:这是陌生人的停止位数目 2个停止位:常规USART,单线和调制解调器模式下支持 0.5个停止位:当处于智能卡模式下接收数据时使用 1.5个停止位:当处于智能卡模式下发送数据时使用 空闲帧的发送包含了停止位。 间隙帧是10(11)个低位之后跟着配置的停止位 配置流程:通过把USART_CR1寄存器中的UE位写1来使能USART-配置USART_CR1寄存器中的M位来定义字长-配置USART_CR2寄存器中的停止位数目-若采用多缓冲通信选择USART_CR3寄存器中的DMA使能位(DMAT),按照多缓冲通信中解释的配置DMA寄存器-设置USART_CR1寄存器中的TE位来发送一个空闲帧来作为第一次发送-通过USART_BRR寄存器选择期望的波特率-往USART_DR寄存器中写入要发送的数据,这也将清除TXE位。 3、单字节通信 清除TXE位一般都是通过往数据寄存器中写入数据完成的 TXE是由硬件设置的,它表明:数据已经从TDR中转移到移位寄存器了,数据发送已经开始;TDR寄存器是空的;下一个数据可以写入USART_DR寄存器,而不会覆盖前面的数据 当发送在进行时,一个对USART_DR寄存器的写命令将数据保存到TDR寄存器中,并且当前传输完成之后,TDR寄存器中的数据将被复制到移位寄存器中。 当没有进行发送时,往USART_DR寄存器中写入一个数据,数据将直接被放入移位寄存器,发送开始,TXE位将被立即置1 当一个帧发送完成时(结束位之后),TC位被置1 清除TC位是通过下面的软件操作完成的:(1)读一次USART_SR寄存器(2)写一次USART_DR寄存器(TC位也可以通过对它写0清除,这个清除序列只建议在多缓存通信中使用) 4、间隙字符 设置SBK位将发送一个间隙字符。若SBK位被置1,在完成当前的发送之后将在TX线路上发送一个间隙字符。这一位在间隙字符发送完成时由硬件复位。USART在最后一个间隙帧的末端插入一个逻辑1,从而保证下一个帧的起始位能被识别 软件在间隙符发送之前复位SBK,间隙符将不会被发送 5、空闲符 设置TE位将驱动USART在第一个数据帧之前发送一个空闲帧 接收器 接收器可以接收8位或9位的数据字,这取决于USART_CR1寄存器中的M位 1、字符接收 在一次USART接收期间,RX引脚最先接收到最低有效位。这种模式下,USART_DR寄存器由一个内部总线和接收移位寄存器之间的缓冲区(RDR)构成 配置流程:通过把USART_CR1寄存器中的UE位写1来使能USART-配置USART_CR1寄存器中的M位来定义字长-配置USART_CR2寄存器中的停止位数目-若发生多缓冲通信,选择USART_CR3寄存器中的DMA使能位(DMAT)-通过波特率寄存器USART_BRR来选择期望的波特率-置位USART_CR1寄存器中的RE,这将使能接收器开始寻找起始位。 当接收到一个字符时: RXNE位被置1,表明移位寄存器的内容被转移到RDR 如果RXNEIE位被置1,将产生一个中断 接收期间若发现帧错误,噪音或者溢出错误错误标志将会被置1 多缓冲接收中,RXNE在每接收到一个字节都会被置1并通过DMA读取数据寄存器来清除 在单缓冲模式,清除RXNE位是由软件读取USART_DR寄存器万层。RXNE标志也可以通过对它写0清除。RXNE位必须在下一个字符接收完成前被清除,否则将产生溢出错误 2、间隙符: 当接收到间隙符时,USART把它当做帧错误处理 3、空闲符: 当接收到空闲帧时,将和接收到数据一样处理,此外如果IDLEIE位被置1的话将产生一个中断 4、溢出错误 当接收到一个字

文档评论(0)

2017ll + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档