STM32MxCube配置串口

2020-05-04来源: eefocus关键字:STM32MxCub  配置  串口

基于上一次将第一章:STM32MxCube 基本使用方法,本章直接讲叙述STM32配置串口2的。


查看STM32F407电路图:可得USART2接在PA2、PA3。


下面新建STM32MxCube工程,开始配置。这里我们配置IO(定义PF9、PF10引脚为LED)、RCC(使用HSE)、USART(串口)。



配置USART(串口)


USART的配置有好几种,也是最常见的一种”UART异步串行通信”配置来讲述。


选择USART2模式为“asynchronous”(异步通信)对应的引脚自动转换为USART。

对于系统时钟应该都知道它的作用,就是驱动整个芯片工作的心脏,如果没有了它,就等于人没有了心跳。时钟的快慢也就决定了程序的快慢。


STM32的时钟树功能比较强大,分频、倍频可以根据你的需求配置出多种时钟。STM32CubeMX这个工具在这一块也是做的比较人性化的,可以直观的看见具体配置,而且有错误提示(注意:不同型号芯片的时钟树可能不同,但大同小异),我们配置为HSE,如下图:

“综合”配置


这里的配置相当于初始化一些配置,集齐了前面的引脚对应的初始化配置,所以叫“综合配置”。


由于我们主要配置了IO 和 USART,所以在这个选项里面,重点关心的就是这两项。



最后生成代码、编译下载,无任何效果。


添加以上代码就能实现:间隔(约0.5S)LED亮灭变化一次,且串口打印数据。


上面是将打印数据装入数组,下面是延时打印数据,同时点亮LED。

下面讲解一下生成的目录结构

在MDK-ARM工程中,可以看到四个目录,分别是:


HAL库:这个库类似于标准外设库(在Drivers目录下)


启动文件startup_stm32f103xe.s:这个文件也和标准外设库里面文件startup_stm32f10x_hd.s类似。


User用户应用:这个目录下是用户添加源代码文件的目录,如果要添加新文件可以在这里添加。


CMSIS微控制器软件接口标准:这个目录也是属于底层的代码(和我之前使用标准外设库建立的软件工程类似,也是位于Drivers目录下)。

打开使用STM32CubeMX新建的软件工程可以看见很多地方有成对的注释代码“USER CODE BEGIN”和“USERCODE END”,这两个注释之间就是用户添加自己代码的区域。如main.c文件下就有多处用户编程区域。


当我们使用STM32CubeMX新建软件工程后,打开软件可以看见里面有很多代码就是通过STM32CubeMX工具自动生成的(是STM32CubeMX的特性),下面大概讲述一下本文生成的代码。


.四个主初始化代码:


HAL库底层初始化



SystemClock_Config();     时钟配置


MX_GPIO_Init();          IO初始化(用户需求)


MX_USART1_UART_Init(); USART初始化(用户需求)


这四个主初始化配置代码中,前面两个基本上是使用STM32CubeMX工具生成都有的代码,后面两个才是用户根据自己需求配置的代码。

这个属于软件工程的标配,主要对初始化(默认)FLASH和NVIC等。


这个函数会使程序不能访问FLASH,也就是为什么我们程序在运行的时候不能下载代码的原因,解决的办法:1.不调用该函数; 2.使MCU处于复位状态下载代码

当你使用以前标准外设库开发过STM32,知道时钟初始化代码,那么这个函数应该很熟悉。其实这里的配置就是上面说的RCC配置(时钟树),参数就是时钟树对应的值。看时钟树就很容易理解。


位于main.c文件。

MX_GPIO_Init();


这个函数是我们配置的IO函数(对PF11引脚初始化,很简单),位于main.c文件。


和以前使用标准外设库开发类似,其中的参数就是上面“综合配置” 里设置的。

MX_USART1_UART_Init();


这个函数是我们配置的USART,位于main.c文件。


和以前使用标准外设库开发类似,其中的参数就是上面“综合配置” 里设置的,波特率、数据位数、停止位等。

关键字:STM32MxCub  配置  串口 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic496074.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32CubeMX学习教程之一:GPIO输出之跑马灯
下一篇:STM32Cube微控制器开发软件在GitHub正式上线

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

技术文章—杰理科技改进蓝牙网络拓扑配置方案详解
杰理科技发明的蓝牙网络拓扑配置方法,通过这样的蓝牙网络拓扑的自动优化方法和系统,能自动把原来通信双方使用的组网参数和相位同步关系转移到外来设备,不再需要重新规划网络,并使设备自动地选择网络最佳路径加入。 蓝牙技术由于具备普及性、移动性及低功耗等优点,在短距离无线通信技术中得到了广泛运用,尤其在移动端如手机、耳机和便携电脑等设备,基本上成为了一种标准配置。随着物联网的兴起,蓝牙技术也在物联网中扮演重要角色。  蓝牙技术在物联网中的应用主要是通过对各个设备进行连接组网,使其成为一个网络,通过对网络上的某个设备或多个设备进行通信,以实现对物联网的信息获取和设备控制。 在实际应用中,网络中已建立连接
发表于 2020-06-08
技术文章—杰理科技改进蓝牙网络拓扑配置方案详解
MDK-ARM(Keil uVision V4.72)上STM32开发环境配置
以前我都是在Eclipse上面和arm-none-eabi交叉编译环境来开发STM32应用程序的。现在改用MDK-ARM比较专业的工具搭建一个开发环境。新建一个指定STM32微控制器型号的工程:为了生成编译文件,勾选如下复选框:配置编译项:STM32F4XX, USE_STDPERIPH_DRIVER添加库编译符号,和语言/代码生成级别其中最关键的头文件包含目录:首先要添加包含工程目录,因为固件库会查找 stm32f4xx_conf.h 配置头文件,中断服务例程实现文件可能也会调用main.h中的函数。再添加包含 xxxySTM32F4_LibLibrariesCMSISInclude 目录,CMSIS Core Support
发表于 2020-06-07
MDK-ARM(Keil uVision V4.72)上STM32开发环境配置
马潮老师关于正确配置AVR熔丝位的建议
对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。有关ATmega128熔丝位的具体定义和功能请查看本书相关章节,在附录中将给出一个完整的汇总表。(1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。因此,配置熔丝位的过程实际上是“配置熔丝位成为未编程状态“1”或成为已编程状态“0””。(2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,请
发表于 2020-06-06
三星Note20+相机配置解密:一亿像素主摄/激光对焦
       近日有关三星 Galaxy Note 20 系列手机的信息逐渐增多,昨日下午博主 @冰宇宙  也发布了三星 Galaxy Note20 + 相机配置的爆料信息。  从博主曝光的信息来看,三星 Galaxy Note20 + 将采用 108MP HM1 1/1.33 主摄 + 13MP 3M5 1/3.4 潜望式摄像头 + 12MP  2L3 1/2.55 超广角摄像头 + 激光对焦传感器 + 最高 50X 变焦潜望长焦镜头。同时激光对焦模块将辅助 HM1 主摄进行对焦。同时三星 Galaxy Note20 系列有望首发自家适合 5G 手机的节能
发表于 2020-06-04
ADI推出用于楼宇和自动化控制的可配置IO产品组合
日前,ADI宣布发布行业首个用于楼宇控制和过程自动化的软件可配置输入/输出的产品组合,通过该产品,制造商和工业运营商可以更好地控制系统灵活性,同时降低产品复杂性。随着系统越来越复杂,制造商不能通过固定的大型系统满足所有大众市场产品所需,因此他们需要更灵活的系统,以能够适应不断变化的需求。新的软件可配置输入/输出使制造商可以通过更灵活的自动化控制来有效地创建新项目,最终减少了设计和安装成本。据该公司称,通过使用软件可配置的输入/输出,制造商可以开发一个平台,以取代多个老化的固定功能输入/输出模块,或者将其应用到多个客户应用中,其中每个安装的输入/输出均可动态变化。此外,输入/输出桥接到基于以太网的控制网络,因为它可以进一步应用于需要
发表于 2020-06-02
中端神U来了,逐条分析紫光展锐虎贲T618配置
手机处理器的构成,某种程度上跟橄榄型社会结构有些类似,极富极贫的很少,中间阶层相当庞大。这也是各家处理器厂商都在抢中端神U称号的原因,因为它意味着更广泛的用户群体。5月份新出的手机CPU天梯图性能排行榜上,可以看到在中间段,紫光展锐的虎贲T618紧随高通骁龙710之后,高于联发科P70和骁龙660。图一:手机CPU天梯图性能排行榜虎贲T618是紫光展锐在2019年8月发布的一款8核架构LTE芯片平台。小编找来了这款平台的基本配置:看配置,在中端处理器里算主流,简单衡量性能的方法就是先跑个分,CPU跑分工具主要就是安兔兔和Geekbench,先看安兔兔评测:跑分21万,对不少中端机型都是非常不错的表现,再看
发表于 2020-05-27
中端神U来了,逐条分析紫光展锐虎贲T618配置
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved