【STM32】STM32CubeMX教程二–基本使用(新建工程点亮LED灯)

【STM32】STM32CubeMX教程二–基本使用(新建工程点亮LED灯)前言在配置好CubeMX之后,就是新建工程的开始了,那么首先我们需要一些准备,本片博客我们会很详细的介绍STM32CubeMx的基本使用和如何创建一个新的工程并且点亮LED灯面向初学者如果您想着快速实现工程的创建,可以直接跳过功能介绍,观看工程创建一栏并且,在新建工程时,我们分为了具体流程1~7如果您不想看每部分的讲解,直接按照流程操作即可,5分钟即可成功点亮LED灯安装…

大家好,又见面了,我是你们的朋友全栈君。

前言

在配置好CubeMX之后,就是新建工程的开始了,那么首先我们需要一些准备,本片博客我们会很详细的介绍STM32CubeMx的基本使用和如何创建一个新的工程并且点亮LED灯  面向初学者   如果您想着快速实现工程的创建,可以直接跳过功能介绍,观看工程创建一栏 

并且,在新建工程时,我们分为了具体流程1~7 如果您不想看每部分的讲解,直接按照流程操作即可,5分钟即可成功点亮LED灯

安装STM32CubeMx请参看《STM32 CubeMx使用教程一–安装教程》

前期准备:

1、STM32硬件(我的是STM32F407ZE和STM32F103ZE)

2、STM32CubeMx软件、 IDE   Keil(MDK-ARM)软件

3、STM32F4xxHAL库   

新建工程

1在主界面选择File–>New Project   或者直接点击ACCEE TO MCU SELECTOR   

 

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

出现芯片型号选择  一般我们直接搜索自己芯片的型号即可   

 如果你是设计产品想要选择一款芯片  在搜索栏的下面,提供的各种查找方式,可以选择芯片内核,型号,等等,帮助你找到适合的芯片

具体流程1:

  • 1 搜索芯片型号
  • 2选择芯片
  • 3创建工程

那么接下来就是我们整个流程的重头戏了

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

这里我们分成三大块来讲解

1MCU外设资源选择

在这里可以选择MCU的各种资源和外设

提供两种方式【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

  • Categories  种类选择

将MCU的各种外设和资源分类,供用户选择使用

  • A-Z  顺序选择

MCU的外设资源按A-Z 排序,供用户选择使用

2外设配置

这里可以设置你所选择外设的各种功能

这里以串口1为例   我们可以选择串口的模式(异步,同步,半双工)   串口接收中断,和串口DMA传输等等

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

和我们配置库函数的时候基本一样,但是  STM32CubeMx将这些转换为了图形和选项  ,我们配置的时候不用再去配置各种东西,只需要傻瓜式操作便可以配置我们需要的外设   这便是CubeMx的核心所在

3预览界面

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

这里分为引脚预览系统预览

引脚预览就是可以查看那个引脚配置了什么功能,和各个引脚位置  

 

随便点击一个引脚,即可设置该引脚的各种功能

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

 

   【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)   这种颜色表示不可配置引脚  电源专用引脚以黄色突出显示。其配置不能更改

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)这种颜色表示你配置了一个I/O口的功能,但是没有初始化相对应的外设功能  引脚处于no mode 状态  

 

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)  绿色表示配置成功

 

系统预览

系统预览就是查看配置的各种外设和GPIO的状态 

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)表示没有问题

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)表示警告,对应配置出现问题  点击该选项即可外设配置界面查看

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

 

具体各个功能的配置(UATR/DMA/ADC/TIM…)我们再接下来的文章会一一讲解,这里就不再过多介绍了

具体流程2:

这里只需要把我们的LED对应引脚设置为GPIO_Output即可

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

2时钟源设置

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

其实也就是32的时钟树框图让你配置  默认时钟是使用内部RC振荡器(HSI) 

如果不懂的话请看《【STM32】系统时钟RCC详解(超详细,超全面)》

具体流程3:

或者先按照图中方式配置为72MHz即可

 

  •  需要配置RCC才能够使用外部时钟源

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

3.工程管理

设置完MCU的各个配置之后,第三个就是工程文件的设置了

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

具体流程4:

这里就是工程的各种配置 我们只用到有限几个,其他的默认即可  IDE我们使用的是 MDK5

  • 存储目录不可以有中文

然后点击Code Generator,进行进一步配置   (重点)

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

将HAL库的所有.C和.H都复制到所建工程中 

优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX的时候便会很方便

缺点: 体积大,编译时间长(很长)

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

只复制所需要的.C和.H   (推荐)

优点:体积相对小,编译时间短,并且工程可复制拷贝

缺点: 新增外设时需要重新用STM32CubeMX导入   

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

不复制文件,直接从软件包存放位置导入.C和.H 

优点:体积小,比较节约硬盘空间

缺点: 复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径   

自行选择方式即可

具体流程5:

然后点击GENERATE CODE  创建工程

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

创建成功,打开工程

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

具体流程6:while循环添加下面两行代码即可

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

    HAL_Delay(500);
    HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_15);

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

配置下载工具

具体流程7:

新建的工程所有配置都是默认的  我们需要自行选择下载模式,勾选上下载后复位运行

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

所有自己编写的代码请放在/* USER CODE BEGIN XXX */   /* USER CODE END XXX */之间 

 这样我们修改工程的时候你自己写的代码就不会被删除

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

 

到此,STM32CubeMX的基本使用介绍完了 ,接下来会更新CubeMX和HAL库配置STM32的UART ADC DMA 定时器 PWM 等等 

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130467.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • scrapy安装步骤_linux下安装scrapy

    scrapy安装步骤_linux下安装scrapy1、Scrapy是什么Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。2、scrapy安装安装过程中出错:如果安装出现一下错误building‘twisted.test.raiser’extensionerror:MicrosoftVisualC++14.0isrequired.Getitwith“MicrosoftVisualC++BuildTools”:http://l

    2022年9月2日
    2
  • 窗口分割

    我们在使用OutLook或者NetAnt等工具的时候,一般都会被其复杂的界面所吸引,在这些界面中窗口被分割为若干的区域,真正做到了窗口的任意分割。那么我们自己如何创建类似的界面,也实现窗口的任意的分

    2021年12月27日
    35
  • 以过来人的身份聊聊实习招聘、秋招、春招(给应届毕业生)

    以过来人的身份聊聊实习招聘、秋招、春招(给应届毕业生)没有学长、学姐能够清楚地告诉我,这些东西的意义。我自己从大三暑期到大四把这三个阶段完整地经历过了,当然因为自己想法多多,心高气傲,无视实习机会,无视秋招。在春招的时候,苦逼求一个面试机会,很多时间就在

    2022年8月3日
    6
  • 史上最全的IDEA快捷键总结

    史上最全的IDEA快捷键总结现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。

    2022年4月29日
    74
  • 暴力破解加密压缩文件

    暴力破解加密压缩文件实验目的应用Python程序设计语言的相关知识,对加密的压缩文件进行破解。实验所用仪器(或实验环境)Python3.8实验基本原理及步骤(或方案设计及理论计算)任务1:定义一个函数,函数带有一个参数L(类型为整数),函数返回一个长度为L、包含大小写字母和数字的随机密码(类型为字符串)。在任务1中,可以借助random中的choice,以及string库中的ascii_letters;至少用3个不同的长度测试函数的返回值。ascii_letters基本上是ascii_lowercase和

    2022年6月3日
    40
  • java输出语句_java输入输出语句是什么

    java输出语句_java输入输出语句是什么在java中,输入语句为“Scanner对象.next()系列方法”,例“Scanner对象.nextLine()”表示输入字符串;输出语句为“System.out.println()”、“System.out.print()”等。对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法输出流java常…

    2022年7月7日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号