本文共 2121 字,大约阅读时间需要 7 分钟。
STM32CubeMX是用于32位ARM®Cortex®STM32微控制器的图形工具。它是STMCube计划的一部分,既可以作为独立应用程序使用,也可以作为Eclipse插件用于集成到集成开发环境(IDE)中。
STM32CubeMX具有以下主要功能:重要的事情先说:路径中不能包含中文字符,否则会创建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.编译生成二进制文件
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