嵌入式_USART 串口通讯要领.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
USART 串口通讯-存储池方式【实验目的】? 学习USART的特性及功能? 学习USART 串口通讯的使用【实验原理】1. USART介绍通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。使用多缓冲器配置的DMA方式,可以实现高速数据通信。2. USART特性? 全双工的,异步通信? NRZ标准格式? 分数波特率发生器系统─发送和接收共用的可编程波特率,最高达 4.5Mbits/s ? 可编程数据字长度(8位或9位) ? 可配置的停止位-支持1或2个停止位? LIN主发送同步断开符的能力以及LIN从检测断开符的能力─当 USART硬件配置成 LIN时,生成13位断开符;检测 10/11位断开符? 发送方为同步传输提供时钟? IRDA SIR 编码器解码器─在正常模式下支持 3/16位的持续时间? 智能卡模拟功能─智能卡接口支持 ISO7816-3标准里定义的异步智能卡协议─智能卡用到的 0.5和 1.5个停止位? 单线半双工通信? 可配置的使用DMA的多缓冲器通信─在 SRAM里利用集中式 DMA缓冲接收/发送字节? 单独的发送器和接收器使能位? 检测标志─接收缓冲器满─发送缓冲器空─传输结束标志? 校验控制─发送校验位─对接收数据进行校验? 四个错误检测标志─溢出错误通用同步异步收发器(USART) ─噪音错误─帧错误─校验错误? 10个带标志的中断源─ CTS改变─ LIN断开符检测─发送数据寄存器空─发送完成─接收数据寄存器满─检测到总线为空闲─溢出错误─帧错误─噪音错误─校验错误? 多处理器通信 -- 如果地址不匹配,则进入静默模式? 从静默模式中唤醒(通过空闲总线检测或地址标志检测)? 两种唤醒接收器的方式:地址位(MSB,第9位),总线空闲3.储存池进行数据传输即在RAM中定义了两个缓冲器一个为TXBuffer,一个为RXBuffer, TXBuffer用来存储USART2要发送给USART3的数据,当USART3收到USART2发送的数据后,把数据存入了RXBuffer这个缓冲器中,这就是利用存储池来进行数据传输。【步骤与现象】1. 连接仿真器,打开目标板的电源开关。2. 打开示例程序工程\basic_examples\STM32F10x_StdPeriph_Examples\16-USART\01-Polling\RVMDK,选择进行程序的编译,然后选择,把程序烧进板里,按一下板上的复位键,就可以运行程序了,当然你也可以进入调试模式按,然后按F10单步调试,要想进入具体函数可以按F11。3. 程序说明:该示例程序演示了通过数据池方式,在两个串口之间传递数据,对于STM3210C开发板来说,这两个串口分别是USART2和USART3。通过USARTy将TxBuffer发送给USARTz.然后USARTz读取接收到的数据,将他们存放在RxBuffer.最后比较发送和接收的数据,检查传输是否正确。USARTy 和 USARTz 的参数配置如下? 波特率 = 230400 baud ? 字长 = 8 Bits? 一个停止位? 偶校验? 无硬件流控制4. 配置? 连接USART2 Tx 引脚(PD.05) to USART3 Rx 引脚(PC.11)? 连接USART2 Rx 引脚(PD.06) to USART3 Tx 引脚(PC.10)观察LCD显示传输成功与否。int main(void){/* System Clocks Configuration */RCC_Configuration();/* Configure the GPIO ports */GPIO_Configuration();USART_InitStructure.USART_BaudRate = 230400;USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_Even;USART_InitStructure.USART_HardwareFlowControl =

文档评论(0)

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

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

1亿VIP精品文档

相关文档