1 / 11
文档名称:

stm32 串口.doc

格式:doc   大小:22KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

stm32 串口.doc

上传人:wz_198614 2017/6/3 文件大小:22 KB

下载得到文件列表

stm32 串口.doc

文档介绍

文档介绍:------------------------------------------------------------------------------------------------ —————————————————————————————————————— STM32 串口 STM32 的串口是相当丰富的, 功能也很强劲。最多可提供 5 路串口( MiniSTM32 使用的是 STM32F103RBT6 ,具有 3 个串口) ,有分数波特率发生器、支持单线光通信和半双工单线通讯、支持 LIN 、智能卡协议和 IrDASIR ENDEC 规范(仅串口 3 支持) 、具有 DMA 等。串口最基本的设置, 就是波特率的设置。 STM32 的串口使用起来还是蛮简单的,只要你开启了串口时钟,并设置相应 IO 口的模式, 然后配置一下波特率, 数据位长度, 奇偶校验位等信息, 就可以使用了。下面, 我们就简单介绍下这几个与串口基本配置直接相关的寄存器。 1, 串口时钟使能。串口作为 STM32 的一个外设, 其时钟由外设时钟使能寄存器控制,这里我们使用的串口 1 是在 APB2ENR 寄存器的第 14 位。 APB2ENR 寄存器在之前已经介绍过了,这里不再介绍。只是说明一点,就是除了串口 1 的时钟使能在 APB2ENR 寄存器,其他串口的时钟使能位都在 APB1ENR 。 2 ,串口复位。当外设出现异常的时候可以通过复位寄存器里面的对应位设置, 实现该外设的复位, 然后重新配置这个外设达到让其重新工作的目的。一般在系统刚开始配置外设的时候, 都会先执行复位该外设的操作。串口 1 的复位是通过配置 APB2RSTR 寄存器的第 14 位来实现的。 APB2RSTR 寄存器的各位描述如下: 图 寄存器 APB2RSTR 各位描述------------------------------------------------------------------------------------------------ ——————————————————————————————————————从上图可知串口 1 的复位设置位在 APB2RSTR 的第 14 位。通过向该位写1 复位串口1,写0 结束复位。其他串口的复位位在 APB1RST R 里面。 3 ,串口波特率设置。每个串口都有一个自己独立的波特率寄存器 USART_BRR , 通过设置该寄存器达到配置不同波特率的目的。该寄存器的各位描述如下: 图 寄存器 USART_BRR 各位描述前面提到 STM32 的分数波特率概念,其实就是在这个寄存器里面体现的。最低 4 位用来存放小数部分 DIV_Fraction , [15:4] 这 12位用来存放整数部分 DIV_Mantissa 。高 16 位未使用。这里波特率的计算通过如下公式计算: 这里的 fpclkx ( x=1 、2) 是给外设的时钟( PCLK1 用于串口 2、3、 4、5, PCLK2 用于串口 1), USARTDIV 是一个无符号的定点数,它的值可以有串口的 BRR 寄存器值得到。而我们更关心的是如何从 USARTDI V 的值得到 USART_BR R 的值, 因为一般我们知道的是波特率, 和 PCLKx 的时钟,要求的就是 USART_BRR 的值。下面我们来介绍如何通过 USARTDI V 得到串口 USART_BR R 寄存器的值,假设我们的串口 1 要设置为 9600 的波特率,而 PCLK2 的时钟为 72M 。这样,我们根据上面的公式有: USARTDIV=72000000/9600*16= 那么得到: DIV_Fraction=16*=12=0X0C; DIV_Mantissa= 468=0X1D4; ------------------------------------------------------------------------------------------------ ——————————————————————————————————————这样, 我们就得到了 USART1->BRR 的值为 0X1D4C 。只要设置串口 1的 BRR 寄存器值为 0X1D4C 就可以得到 9600 的波特率。 4 ,串口控制。 STM32 的每个串口都有 3 个控制寄存器 USART_CR1~3 ,串口的很多配置都是通过这 3 个寄存器来设置的。这里我们只要用到 USART_CR1 就可以实现我们的功能了。 BIT 13: 串口功能; BIT 12: MODE , 字长。 0:1 个开始位,8 个数据位,1 位停止位

最近更新

2024年塑料片项目资金需求报告代可行性研究报.. 66页

2024年石油产品添加剂:燃料油添加剂项目投资.. 63页

2024年人参项目资金需求报告代可行性研究报告.. 64页

2024工程勘察收费标准2 8页

安塘经济发展公司薪酬管理体系案例研究 33页

2024年钢管项目合作计划书 56页

2024年电能计量配套产品合作协议书 55页

2024年彩涂板(卷)项目合作计划书 64页

2024年AG13电喷汽车发动机项目建议书 63页

高中化学《有机合成 20页

海底管道运输的经济影响 28页

生物花的传粉与受精的过程 16页

《小情绪原》课件 31页

鲁教版地理必修Ⅱ第三单元《工业地域的形成》.. 22页

高三下学期第二次适应性考试(二模)化学试题含.. 25页

化学反应工程作业习题 30页

高中数学步步高大一轮复习讲义第七章 76页

五年级下册数学《折纸》课件省名师优质课赛课.. 16页

[出师表]PPT 71页

部编人教版七年级下册语文背诵篇目 4页

高等数学课件--第十二章微分方程12-2可分离变.. 21页

高等数学课件--D78常系数非齐次线性微分方程 25页

地下矿山安全检查表 11页

信用证结算协议书 12页

抗负过载双室供油装置与方法 5页

小学数学一年级下册《找规律》说课稿 8页

混凝土护坡施工方案 4页

以旧换新备案申请书[5篇范例] 2页

《WindowsServer2012网络操作系统项目教程(第.. 27页

城镇土地估价规程新 57页