博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STM32cubemx初使用——LED灯闪烁以及proteus仿真
阅读量:3947 次
发布时间:2019-05-24

本文共 2121 字,大约阅读时间需要 7 分钟。

一、STM32cubemx介绍

STM32CubeMX是用于32位ARM®Cortex®STM32微控制器的图形工具。它是STMCube计划的一部分,既可以作为独立应用程序使用,也可以作为Eclipse插件用于集成到集成开发环境(IDE)中。

STM32CubeMX具有以下主要功能:

  • 轻松选择微控制器,涵盖了整个STM32产品组合。
  • 从STMicroelectronics板列表中选择板。
  • 简单的微控制器配置(引脚,时钟树,外设,中间件)以及相应的初始化C代码的生成。
  • 通过将先前保存的配置导入到新的MCU项目中,可以轻松切换到同一系列的另一个微控制器。
  • 生成配置报告。
  • 生成IDE就绪项目,以供选择集成开发环境工具链。STM32CubeMX项目包括生成的初始化C代码,STM32 HAL驱动程序,用户配置所需的中间件堆栈以及在所选IDE中打开和构建项目所需的所有相关文件。
  • 用户定义的应用程序序列的功耗计算。
  • 自我更新允许用户保持STM32CubeMX为最新。

二、初使用LED灯的点亮

重要的事情先说:路径中不能包含中文字符,否则会创建KEIL工程失败。

1.新建工程
在这里插入图片描述
2.选择芯片
我们选择proteus工程中有的芯片就可以,搜索后双击选择第二个。(矩形框内是封装方式)
在这里插入图片描述
在这里插入图片描述
界面的具体功能可以去官网下载用户手册(
)。
在这里插入图片描述
还有一篇文章略讲解了界面

3.配置系统下载方式

第一个是调试接口,sw或者jtag(几种模式),具体的可以看一下芯片手册关于调试。
第二个是系统定时,用来产生通用的定时周期,芯片里有专门的中断来做,专实现的时候可以用系统时钟分频得到,也可以用固定的定时器分频。这个systick多数情况是提供给操作系统用属。
选择Categories下的SYS弹出右图所示的SYS Mode and Configuration界面,在如图所示的地方选择下载Debug方式,本次使用仿真的方式,所以Debug方式可以选择No Debug。
在这里插入图片描述
4.配置系统时钟
选择Categories下的RCC选择时钟源,可选择的时钟包括HSE和LSE,由于本次仿真中仅使用HSE时钟,所以仅对HSE时钟进行选择,选择Crystal/Ceramic Resonator外部时钟。
在这里插入图片描述
推荐文章

5.配置时钟树

选完时钟后,进入Clock Configuration界面进行时钟树配置,首先设置外部时钟源输入频率Input Frequency,然后选择PLL Source Mux的通道,最后双击HCLK频率,然后系统会自动配置成用于期望的时钟。
时钟树讲解

在这里插入图片描述

6.配置GPIO口功能

选择GPIO,左键单击PA1,选择GPIO_Output。
在这里插入图片描述
右键选择Enter user label为PA1设置标签。
在这里插入图片描述
接下来配置详细参数,左键单击红色箭头处。
将PA1配置为默认输出高电平,推挽输出模式,上拉,高速输出模式,引脚标识为LED1。
推荐文章

在这里插入图片描述

7.输出配置工程
在强调一遍,路径中不能包含中文字符,否则会创建KEIL工程失败。
Project Name输入工程文件名LED
Project Location选择路径;
Toolchain/IDE选择预输出的IDE类型,使用的keil5所以选择MDK-ARM V5。
在这里插入图片描述
Code Generator中选中箭头所示位置。这样输出文件将包括.c和.h文件。最后点击生成代码。
在这里插入图片描述
8.生成的文件夹。
在这里插入图片描述
生成文件夹介绍

版权原因未复制图片,大家可以自己去对比看一下。

9.添加代码
进入MDK-ARM文件夹,打开keil工程,选择main.c。
在用户代码区添加以下代码,否则STM32CUBEMX改动后,代码将被清空。

HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);//翻转电平(也可以通过setbits来实现)		HAL_Delay(100);

在这里插入图片描述

10.编译生成二进制文件
在这里插入图片描述
在这里插入图片描述

三、proteus仿真

1.新建工程file->new project

在这里插入图片描述
2.选择图纸大小,default就可以
在这里插入图片描述
3.原理图选择空工程,就像VC创建空的工程一样
在这里插入图片描述
4.由于使用CubeMX 和Keil联合对STM32进行仿真,所以无需用Proteus进行开发
在这里插入图片描述
5.点击P找我们需要的部件。
在这里插入图片描述
6.添加部件
在这里插入图片描述
7.添加电源
在这里插入图片描述
8.连线,将电阻10k改成10。
在这里插入图片描述
双击开发板,给开发板添加二进制文件。
在这里插入图片描述
此时会产生错误,原因是未设置电源造成。
在这里插入图片描述
选择菜单栏Design->Configure Power Rails
在这里插入图片描述
在这里插入图片描述
最后就能实现LED灯的闪烁。
在这里插入图片描述

参考资源

https://www.st.com/zh/development-tools/stm32cubemx.html#overview
https://www.cnblogs.com/Mr-Wangblogs/p/12683685.html
https://blog.csdn.net/qq_30839549/article/details/90301287
https://zhidao.baidu.com/question/1837139486527641380.html

你可能感兴趣的文章
程序设计的基本原则:栈和堆
查看>>
Android应用程序架构
查看>>
Android:绘制自定义视图
查看>>
Android开发:一些有用的库(第一部分)
查看>>
Android 默认暗码
查看>>
Android 系列 1.3了解Android版本
查看>>
Android 系列 6.28使用正确的复数格式化
查看>>
Android 系列 6.29创建在两个活动之间显示的加载屏幕
查看>>
Android的Gradle技巧 1.2配置SDK版本和其他默认值
查看>>
Android的Gradle技巧 1.3从命令行执行Gradle构建
查看>>
Android的Gradle技巧 1.4从Android Studio执行Gradle构建
查看>>
Android的Gradle技巧 1.5添加Java库依赖关系
查看>>
Android的Gradle技巧 1.6使用Android Studio添加库依赖关系
查看>>
Android的Gradle技巧 1.7配置存储库
查看>>
android Collections 排序,
查看>>
Android的Gradle技巧 2.1设置项目属性
查看>>
Android的Gradle技巧 2.2将应用程序从Eclipse ADT移植到Android Studio
查看>>
Android的Gradle技巧 2.3从Eclipse移植应用程序ADT使用Eclipse
查看>>
昂山素季 Aung San Suu Kyi
查看>>
AI 人工智能第一课 从贝叶斯定理开始
查看>>