STM32 例程 串口实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STM32 例程 串口实验

实验要求 使用开发板上的串口向PC发送信息 PC通过串口向开发板发送数据,CPU在接收到后,确认信息,并通过串口返回数据 例如:开发板先发送一个字符‘c’,然后PC发送一个字符‘a’,开发板接收到后,再发送一个字符‘b’ [编辑] 实验目的 学习和掌握STM32的USART模块的工作原理和使用方法 学习和掌握USART固件库的使用 掌握串口中断的使用方法 [编辑] 实验分析 硬件分析: USART的工作原理 软件分析: USART固件库 USART实例 [编辑] 开发板原理图设计 MAX3232 与主芯片的连接 [编辑] 硬件知识点 详见STM32F10XXX英文版参考手册RM0008-Reference Manual [编辑] USART 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用小数波特率发生器提供宽范围的波特率选择。 它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。 使用多缓冲器配置的DMA方式,可以实现高速数据通信。 (表) USART模式支持 [编辑] USART内部结构 [编辑] 引脚定义 任何USART双向通信至少需要两个引脚:接收数据输入(RX)和发送数据输出(TX)。 RX:接收数据输入。通过过采样技术来区别数据和噪音,从而恢复数据。 TX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的I/O端口配置。当发送器被激活,并且不发送数据时,TX引脚处于高电平。在单线和智能卡模式里,此I/O口被同时用于数据的发送和接收。 在同步模式中需要下列引脚: CK:发送器时钟输出。此引脚输出用于同步传输的时钟, (在起始位和停止位上没有时钟脉冲,软件可选地,可以在最后一个数据位送出一个时钟脉冲)。数据可以在RX上同步被接收。这可以用来控制带有移位寄存器的外部设备(例如LCD驱动器)。时钟相位和极性都是软件可编程的。在智能卡模式里,CK可以为智能卡提供时钟。 在IrDA模式里需要下列引脚: IrDA_RDI: IrDA模式下的数据输入。 IrDA_TDO: IrDA模式下的数据输出。 在硬件流控模式中需要下列引脚: nCTS: 清除发送,若是高电平,在当前数据传输结束时阻断下一次的数据发送。 nRTS: 发送请求,若是低电平,表明USART准备好接收数据 (表) USART引脚配置 [编辑] 寄存器 一个状态寄存器(USART_SR) 一个数据寄存器(USART_DR) 三个控制寄存器(USART_CR1,USART_CR2,USART_CR3) 一个波特率寄存器(USART_BRR) 一个智能卡模式下的保护时间寄存器(USART_GTPR) 关于以上寄存器中每个位的具体定义,请参考USART寄存器描述。 [编辑] 控制逻辑 发送控制 接收控制 时钟控制 硬件流控制 波特率控制(发送器和接收器) 中断控制 唤醒单元 [编辑] USART寄存器描述 下表列出了USART寄存器的地址映射和复位值。可以以半字(16位)或字(32位)的方式访问这些外设寄存器。 [编辑] USART_SR(Status register)状态寄存器 rc_w0:软件可以读此位,也可以通过写’0’清除此位,写’1’对此位无影响。 位31:10 保留位,由硬件强制为0 位9 CTS:CTS 标志 如果设置了CTSE位,当nCTS输入状态变化时,该位由硬件置’1’。由软件清’0’(向该位写’0’)。如果USART_CR3寄存器中的CTSIE = 1,则产生中断。 0:nCTS状态线上没有变化; 1:nCTS状态线上发生变化。 在UART4和UART5上,该位不可用。 位8 LBD:LIN断开检测标志 当检测到LIN断开时,该位由硬件置’1’。由软件清’0’(向该位写’0’)。如果USART_CR2寄存器中的LBDIE = 1,则产生中断。 0:没有检测到LIN断开; 1:检测到LIN断开。 注意:若LBDIE=1,当LBD = 1时产生中断。 位7 TXE:发送数据寄存器(TDR)空 当TDR寄存器中的数据被转移到移位寄存器时,该位由硬件置’1’。如果USART_CR1寄存器中的TXEIE = 1,则产生中断。写USART_DR寄存器,将该位清’0’。 0:数据还没有被转移到移位寄存器; 1:数据已经被转移到移位寄存器。 注意:该位被用在单缓冲发送中。 位6 TC:发送完成 当包含有数据的一帧发送完成后,并且TXE=1时,该位由硬件

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档