




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
普中STM32开发板带您进入ARM世界 USART串口通信实验 普中STM32开发板带您进入ARM世界 本讲主要内容1 通信的基本概念2 STM32F1的USART介绍3 串口通信配置步骤4 硬件电路5 编写串口通信控制程序 普中STM32开发板带您进入ARM世界 1 通信的基本概念通信的方式可以分为多种 按照数据传送方式可分为串行通信和并行通信 按照通信的数据同步方式 可分为异同通信和同步通信 按照数据的传输方向又可分为单工 半双工和全双工通信 下面我们就来简单介绍这几种通信方式 普中STM32开发板带您进入ARM世界 1 1串行通信与并行通信 1 串行通信串行通信是指使用一条数据线 将数据一位一位地依次传输 每一位数据占据一个固定的时间长度 其只需要少数几条线就可以在系统间交换信息 特别适用于计算机与计算机 计算机与外设之间的远距离通信 串行通信的特点 传输线少 长距离传送时成本低 且可以利用电话网等现成的设备 但数据的传送控制比并行通信复杂 普中STM32开发板带您进入ARM世界 2 并行通信并行通信通常是将数据字节的各位用多条数据线同时进行传送 通常是8位 16位 32位等数据一起传输 并行通信的特点 控制简单 传输速度快 由于传输线较多 长距离传送时成本高且接收方的各位同时接收存在困难 抗干扰能力差 普中STM32开发板带您进入ARM世界 1 2异步通信与同步通信 1 异步通信异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程 为使双方的收发协调 要求发送和接收设备的时钟尽可能一致 异步通信是以字符 构成的帧 为单位进行传输 字符与字符之间的间隙 时间间隔 是任意的 但每个字符中的各位是以固定的时间传送的 即字符之间不一定有 位间隔 的整数倍的关系 但同一字符内的各位之间的距离均为 位间隔 的整数倍 异步通信的特点 不要求收发双方时钟的严格一致 实现容易 设备开销较小 但每个字符要附加2 3位用于起止位 各帧之间还有间隔 因此传输效率不高 普中STM32开发板带您进入ARM世界 2 同步通信同步通信时要建立发送方时钟对接收方时钟的直接控制 使双方达到完全同步 此时 传输数据的位之间的距离均为 位间隔 的整数倍 同时传送的字符间不留间隙 即保持位同步关系 也保持字符同步关系 发送方对接收方的同步可以通过两种方法实现 普中STM32开发板带您进入ARM世界 1 3单工 半双工与全双工通信 1 单工通信单工是指数据传输仅能沿一个方向 不能实现反向传输 2 半双工通信半双工是指数据传输可以沿两个方向 但需要分时进行 普中STM32开发板带您进入ARM世界 3 全双工通信全双工是指数据可以同时进行双向传输 普中STM32开发板带您进入ARM世界 1 4通信速率衡量通信性能的一个非常重要的参数就是通信速率 通常以比特率 Bitrate 来表示 比特率是每秒钟传输二进制代码的位数 单位是 位 秒 bps 如每秒钟传送240个字符 而每个字符格式包含10位 1个起始位 1个停止位 8个数据位 这时的比特率为 10位 240个 秒 2400bps 普中STM32开发板带您进入ARM世界 2 STM32F1的USART介绍2 1串口通信简介串口通信 SerialCommunication 是指外设和计算机间 通过数据信号线 地线等 按位进行传输数据的一种通信方式 属于串行通信方式 串口是一种接口标准 它规定了接口的电气标准 没有规定接口插件电缆以及使用的协议 普中STM32开发板带您进入ARM世界 1 接口标准串口通信的接口标准有很多 有RS 232C RS 232 RS 422A RS 485等 常用的就是RS 232和RS 485 RS 232其实是RS 232C的改进 原理是一样的 这里我们就以RS 232C接口进行讲解 RS 485在后面章节中会介绍 RS 232C是EIA 美国电子工业协会 1969年修订RS 232C标准 RS 232C定义了数据终端设备 DTE 与数据通信设备 DCE 之间的物理接口标准 RS 232C接口规定使用25针连接器 简称DB25 连接器的尺寸及每个插针的排列位置都有明确的定义 普中STM32开发板带您进入ARM世界 公头和母头的管脚定义顺序是不一样 这一点需要特别注意 常用管脚的功能如下 普中STM32开发板带您进入ARM世界 RS 232C对逻辑电平也做了规定 如下在TXD和RXD数据线上 1 逻辑1为 3 15V的电压2 逻辑0为3 15V的电压在RTS CTS DSR DTR和DCD等控制线上 1 信号有效 ON状态 为3 15V的电压2 信号无效 OFF状态 为 3 15V的电压由此可见 RS 232C是用正负电压来表示逻辑状态 与晶体管 晶体管逻辑集成电路 TTL 以高低电平表示逻辑状态的规定正好相反 普中STM32开发板带您进入ARM世界 串口通信中还需要注意的是 串口数据收发线要交叉连接 计算机的TXD要对应单片机的RXD 计算机的RXD要对应单片机的TXD 并且共GND 如下图 普中STM32开发板带您进入ARM世界 2 通信协议RS232的通信协议比较简单 通常遵循96 N 8 1格式 普中STM32开发板带您进入ARM世界 2 2USART简介USART即通用同步异步收发器 它能够灵活地与外部设备进行全双工数据交换 满足外部设备对工业标准NRZ异步串行数据格式的要求 UART即通用异步收发器 它是在USART基础上裁剪掉了同步通信功能 同步和异步主要看其时钟是否需要对外提供 这个前面也介绍了 我们开发板上使用的STM32F103ZET6芯片含有3个USART 2个UART外设 它们都具有串口通信功能 USART它支持同步单向通信和半双工单线通信 还支持LIN 域互连网络 智能卡协议与IrDA 红外线数据协会 SIRENDEC规范 以及调制解调器操作 CTS RTS 而且 它还支持多处理器通信和DMA功能 使用DMA可实现高速数据通信 USART通过小数波特率发生器提供了多种波特率 USART在STM32中应用最多的是printf输出调试信息 当我们需要了解程序内的一些变量数据信息时 可以通过printf输出函数将这些信息打印到串口助手上显示 这样一来就给我们调试程序带来了极大的方便 普中STM32开发板带您进入ARM世界 2 3USART结构框图参考 STM32F10 x中文参考手册 25章内容 普中STM32开发板带您进入ARM世界 3 串口通信配置步骤在上面的介绍中 可能有的朋友很不理解 不过没有关系 下面我们讲解如何使用库函数对USART进行配置 这个也是在编写程序中必须要了解的 具体步骤如下 USART相关库函数在stm32f10 x usart c和stm32f10 x usart h文件中 1 使能串口时钟及GPIO端口时钟RCC APB2PeriphClockCmd RCC APB2Periph GPIOA ENABLE 使能GPIOA时钟RCC APB2PeriphClockCmd RCC APB2Periph USART1 ENABLE 使能USART1时钟 2 GPIO端口模式设置 设置串口对应的引脚为复用功能GPIO InitStructure GPIO Mode GPIO Mode AF PP GPIO InitStructure GPIO Mode GPIO Mode IN FLOATING 普中STM32开发板带您进入ARM世界 3 初始化串口参数 包含波特率 字长 奇偶校验等参数voidUSART Init USART TypeDef USARTx USART InitTypeDef USART InitStruct typedefstruct uint32 tUSART BaudRate 波特率uint16 tUSART WordLength 字长uint16 tUSART StopBits 停止位uint16 tUSART Parity 校验位uint16 tUSART Mode USART模式uint16 tUSART HardwareFlowControl 硬件流控制 USART InitTypeDef 普中STM32开发板带您进入ARM世界 例如 USART InitTypeDefUSART InitStructure USART InitStructure USART BaudRate 9600 波特率设置USART InitStructure USART WordLength USART WordLength 8b 字长为8位数据格式USART InitStructure USART StopBits USART StopBits 1 一个停止位USART InitStructure USART Parity USART Parity No 无奇偶校验位USART InitStructure USART HardwareFlowControl USART HardwareFlowControl None 无硬件数据流控制USART InitStructure USART Mode USART Mode Rx USART Mode Tx 收发模式USART Init USART1 初始化串口1 普中STM32开发板带您进入ARM世界 4 使能串口voidUSART Cmd USART TypeDef USARTx FunctionalStateNewState USART Cmd USART1 ENABLE 使能串口1 5 设置串口中断类型并使能voidUSART ITConfig USART TypeDef USARTx uint16 tUSART IT FunctionalStateNewState USART ITConfig USART1 USART IT RXNE ENABLE 开启接收中断USART ITConfig USART1 USART IT TC ENABLE 对应的串口中断类型可在stm32f10 x usart h中查找到 普中STM32开发板带您进入ARM世界 6 设置串口中断优先级 使能串口中断通道NVIC初始化库函数是NVIC Init 7 编写串口中断服务函数USART1 IRQHandlerITStatusUSART GetITStatus USART TypeDef USARTx uint16 tUSART IT if USART GetITStatus USART1 USART IT RXNE RESET 执行USART1接收中断内控制 voidUSART ClearFlag USART TypeDef USARTx uint16 tUSART FLAG 第二个参数为状态标志选项 可选参数可在stm32f10 x usart h中查找到 普中STM32开发板带您进入ARM世界 例如 voidUSART1 IRQHandler void 串口1中断服务程序 u8r if USART GetITStatus USART1 USART IT RXNE RESET 接收中断 r USART ReceiveData USART1 USART1 DR 读取接收到的数据USART SendData USART1 r while USART GetFlagStatus USART1 USART FLAG TC SET US
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业和解协议书
- 汽修店长协议书
- 宿舍住宿安全协议书
- 工地班组结算协议书
- 监管售房协议书
- 离婚离婚协议书
- 督促减肥协议书
- 宠物公园入园协议书
- 法人挂名协议书
- 工矿设备买卖协议书
- 国际志愿服务培训与实践-浙江外国语学院中国大学mooc课后章节答案期末考试题库2023年
- 其他常见疾病的康复
- 技术人员能力考核评分表
- 中国传统文化知到章节答案智慧树2023年西安理工大学
- 四位数乘四位数乘法题500道
- 英语阅读知到章节答案智慧树2023年北京大学
- 三室两厅家具、家电采购清单
- 装配式建筑混凝土结构施工监理实施细则
- 喷涂过程PFMEA分析实例
- 文明之痕:流行病与公共卫生智慧树知到答案章节测试2023年四川大学
- 【毕业设计】基于Buck结构的DCDC转换器建模与仿真
评论
0/150
提交评论