下载此文档

STM32 例程 串口实验.doc


文档分类:IT计算机 | 页数:约82页 举报非法文档有奖
1/82
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/82 下载此文档
文档列表 文档介绍
实验要求使用开发板上的串口向PC发送信息PC通过串口向开发板发送数据,CPU在接收到后,确认信息,并通过串口返回数据例如:开发板先发送一个字符‘c’,然后PC发送一个字符‘a’,开发板接收到后,再发送一个字符‘b’[编辑]实验目的学****和掌握STM32的USART模块的工作原理和使用方法学****和掌握USART固件库的使用掌握串口中断的使用方法[编辑]实验分析硬件分析:USART的工作原理软件分析:USART固件库USART实例[编辑]开发板原理图设计MAX3232与主芯片的连接[编辑]硬件知识点详见STM32F10XXX英文版参考手册RM0008-ReferenceManual[编辑]USART通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用小数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIRENDEC规范,以及调制解调器(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(Statusregister)状态寄存器rc_w0:软件可以读此位,也可以通过写’0’清除此位,写’1’对此位无影响。位31:10保留位,由硬件强制为0位9CTS:CTS标志如果设置了CTSE位,当nCTS输入状态变化时,该位由硬件置’1’。由软件清’0’(向该位写’0’)。如果USART_CR3寄存器中的CTSIE=1,则产生中断。0:nCTS状态线上没有变化;1:nCTS状态线上发生变化。在UART4和UART5上,该位不可用。位8LBD:LIN断开检测标志当检测到LIN断开时,该位由硬件置’1’。由软件清’0’(向该位写’0’)。如果USART_CR2寄存器中的LBDIE=1,则产生中断。0:没有检测到LIN断开;1:检测到LIN断开。注意:若LBDIE=1,当LBD=1时产生中断。位7TXE:发送数据寄存器(TDR)空当TDR寄存器中的数据被转移到移位寄存器时,该位由硬件置’1’。如果USART_CR1寄存器中的TXEIE=1,则产生中断。写USART_DR寄存器,将该位清’0’。0:数据还没有被转移到移位寄存器;1:数据已经被转移到移位寄存器。注意:该位被用在单缓冲发送中。位6TC:发送完成当包含有数据的一帧发送完成后,并且TXE=1时,该位由硬件置’1’。如果USART_CR1寄存器中的TCIE=1,则产生中断。该位由软件序列清’0’(先读一次USART_SR寄存器,后写一次USART_DR寄存器)。TC位也可以通过向该位写’0’来清除,此清零方式只在多缓冲通信中推荐使用。0:发送还未完成;1:发送完成。位5RXNE:读数据寄存器(RDR)非空(Readd

STM32 例程 串口实验 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数82
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2286107238
  • 文件大小1.08 MB
  • 时间2020-08-07