- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
ARMCortex-M3嵌入式控制技术
——基于STM32F103RCT6
STM32F103硬件系统与KEILMDK工程
第七章
串口通信与声码器
TM32F103RCT6微控制器具有5个串口,其中USART1~3是带有同步串行通信能力的同步异步串行口,而UART4~5是标准的异步串行通信口。本章将以STM32F103RCT6微控制器的USART2为例,介绍其片内串口外设的工作原理,并借助实例详细介绍串口通信的程序设计方法,包括串口发送数据和基于串口中断服务函数接收数据的方法。1串口通信工作原理2STM32F103串口3串口通信寄存器类型实例4串口通信库函数类型实例5声码器
7.1串口通信工作原理串口通信是指数据的各位按串行的方式沿一根总线进行的通信方式,RS-232标准的UART串口通信是典型的异步双工串行通信,通信方式如左图所示。UART串口通信需要两个引脚,即TXD和RXD,TXD为串口数据发送端,RXD为串口数据接收端。STM32F103微控制器的串口与计算机的串口按图7-1的方式相连,串行数据传输没有同步时钟,需要双方按相同的位传输速率异步传输,这个速率称为波特率,常用的波特率有4800bps、9600bps和115200bps等。UART串口通信的数据包以帧为单位,常用的帧结构为:1位起始位+8位数据位+1位奇偶校验位(可选)+1位停止位,如右图所示。
7.2STM32F103串口TM32F103RCT6微控制器共有5个串口,其中,USART1~3为带同步串行通信功能的通用同步异步串行口,UART4~5为标准的异步串行通信口。这里以USART2工作在标准的异步串行通信方式下为例,介绍STM32F103RCT6微控制器的串口工作原理。
7.2STM32F103串口串口USART2的基地址为0x40004400,其各个寄存器的情况如下所述。(1)串口数据寄存器USART_DR(偏移地址0x04)32位的串口数据寄存器USART_DR只有第[8:0]位有效,用于发送串口数据时记为TDR,用于接收串口数据时记为RDR,TDR和RDR是映射到同一个地址的两个物理寄存器,通过读、写指令来区分使用了哪个寄存器,即读USART_DR时自动识别为RDR,写USART_DR时自动识别为TDR。(2)波特率寄存器USART_BRR(偏移地址为0x08,复位值为0x0)32位的波特率寄存器USART_BRR只有第[15:0]位域有效,其中,第[15:4]位域记为DIV_Mantissa[11:0],第[3:0]位域记为DIV_Fraction[3:0]。波特率的计算公式为:波特率=fck/(16×USART_DIV),而USART_DIV=DIV_Mantissa+DIV_Fraction/16,例如,对USART2而言,当fck=PCLK1=32MHz时,如果波特率设为9600bps,则可配置DIV_Mantissa=208,DIV_Fraction=5;如果波特率设为115200bps,则可配置DIV_Mantissa=17,DIV_Fraction=6,实际波特率为115108bps,误差为0.08%(可接收范围内)。
(3)串口状态寄存器USART_SR(偏移地址为0x0,复位值为0xC0)32位的串口状态寄存器USART_SR只有第[9:0]位有效,如表所示。位号名称属性含义31:10??保留9CTS可读/可写CTS标志位。当nCTS线路输入跳变时,硬件置位,写入0清零8LBD可读/可写LIN中止检测标志位。LIN中止发生后硬件置位,写入0清零7TXE只读发送数据寄存器空标志位。TDR内容传给移位寄存器时硬件置1,写DR寄存器清06TC可读/可写发送完成标志位。发送完成硬件置1,写入0清零(写DR+读SR也可清0)5RXNE可读/可写接收数据没有就绪标志位。接收数据准备好时硬件置1,读DR或写0均可清零4IDLE只读空闲线路检测标志位。空闲时自动置1,读DR+读SR可清零3ORE只读溢出错误标志位。接收溢出时硬件置1,读DR+读SR清零2NE只读噪声错误标志位。接收的位在采样时出现噪声时则硬件置1,读DR+读SR可清零1FE只读帧错误标志位。帧错误发生时硬件置1,读DR+读SR可清零该位0PE只读校验位错误标志位。接收的数据校验错误时硬件置1,读DR+读SR可清零该位
(4)串口控制寄存器USART_CR1(偏移地址为0x0C,复位值为0x0)32位的串口控制寄存器USART_CR1只有第[13:0]位有效,如表所示位号名称属性含义31
您可能关注的文档
- STM32F103硬件系统与KEIL MDK工程 第06章 定时器.pptx
- STM32F103硬件系统与KEIL MDK工程 第02章 STM32F103微控制器.pptx
- STM32F103硬件系统与KEIL MDK工程 第08章 存储器管理.pptx
- STM32F103硬件系统与KEIL MDK工程 第10章 μCOS-II系统与移植.pptx
- STM32F103硬件系统与KEIL MDK工程 第04章 LED灯控制与KEIL MDK工程框架.pptx
- STM32F103硬件系统与KEIL MDK工程 第13章 消息邮箱与消息队列.pptx
- STM32F103硬件系统与KEIL MDK工程 第11章 μCOS-II任务管理.pptx
- STM32F103硬件系统与KEIL MDK工程 第09章 LCD屏与温度传感器.pptx
最近下载
- 电子测量技术(第5版)全套PPT课件.pptx
- QGDW 1152.2-2014- 电力系统污区分级与外绝缘选择标准 第2部分:直流系统.pdf VIP
- 中小学学三年发展规划(2025-2028).docx VIP
- J-T-G- 5120-2021 公路桥涵养护规范(正式版).docx VIP
- 建筑工程图集 20CJ95-1:装配式保温楼地面建筑构造——FD干式地暖系统.pdf VIP
- 3 电子银行_纵横商务汉语 中级阅读2.pptx VIP
- 阿那亚品牌手册.pdf VIP
- 二氧化碳气瓶瓶阀爆破片爆破浅析 .docx VIP
- 隧道二衬施工缝缺陷处理方案.docx VIP
- 2025年秋学期冀教版小学数学二年级上册教学进度表.docx VIP
文档评论(0)