STM32CubeMX如何配置生成项目以及安装包

news2024/9/27 15:18:20

目录

一、STM32CubeMX介绍

二、用STM32CubeMX生成项目

1.创建项目

2.定义引脚

3.配置时钟

4.保存项目

5.生成项目

6.打开项目


一、STM32CubeMX介绍

STM32CubeMX是STM32Cube工具家族中的一员,专门为STM32微控制器的开发提供便利。它是一款图形化工具,允许用户通过直观的方式完成从MCU/MPU选型、引脚配置、系统时钟以及外设时钟设置,到外设参数配置、中间件参数配置等一系列工作。

本文所用STM32CubeMX版本号为v6.1.0,如果没有安装包的朋友可以从下面下载,由相近版本号的朋友可以直接参考下文生成项目。

https://pan.baidu.com/s/1ed4dt4XKsu7JZzuXHulEPA 
提取码:i8p2

二、用STM32CubeMX生成项目

本文以STM32F429为例,创建一个GPIO口输出的简单项目。

1.创建项目

(1)打开STM32CubeMX主界面以后,点击File按钮,然后点击NewProject按钮。

(2)首先,我们选择系列,点击Series,将STM32F4勾选上。

(3)然后,点击Line,将STM32F429/439勾选上。

(4)我们点击Package选择封装形式,从官方数据手册或技术规格书中得STM32F429IGTx属于LQFP176,LQFP176是一种集成电路(IC)的封装形式,具体来说,它代表了一个具有176个引脚的低轮廓四方扁平封装(Low-profile Quad Flat Package)。

(5)选择STM32F429IG后,点击上面的Start Project。

2.定义引脚

(1)创建项目完成以后,会出现这张引脚分配图,可以清晰的从图中看到引脚分配的情况,vss和vdd的引脚已经被分配。

(2)搜索到PB0以后,PB0引脚会闪动,右键可以将其设置成 output模式。

(3)左边菜单栏,选择Categrpries,然后选择System Core,选择GPIO,可以看到我们刚定义的GPIO_B0,点击对应的行可以对其进行设置。下图中我们将GPlO output level设置成了High,GP10 Pull-up/Pull-down设置成了Pull-up,Maximum output speed设置成了High。

3.配置时钟

(1)打开左边菜单栏,选择RCC,然后将High Speed Clock (HSE) 从disable改成Crystal/Ceramic Resonator来启动HSE时钟源。

(2)打开Clock Configuration模块,默认系统时钟是16MHz,用了HSI作为时钟源,我们将HCLK这里改成180,然后敲回车,软件会自动将系统时钟分配为180MHz,改用HSE倍频的PLL作为时钟源。

4.保存项目

防止STM32CubeMX我们配置的这些丢失,我们先将STM32CubeMX保存。

(1)选择File,然后点击Save Project按钮。

(2)创建一个空白文件夹,选择文件夹,保存的文件名称会和文件夹名称保持一致

5.生成项目

(1)生成项目之前,我们先配置一下项目的基本信息,后面用什么编辑器编辑,比如这里我们选择了MDK5,然后可以根据自己的需求配置一下堆栈的大小

(2)最后点击界面右上角的GENERATE CODE就可以生成这个项目了,注意第一次生成的时候比较慢,因为需要下载对应的固件库

(3)我们打开项目的文件夹,如下图所示,项目就被生成好了。

6.打开项目

打开项目以后,可以看到我们的配置相关代码全被保存到了main文件中,下面是我们配置时钟的代码图。

最后找到了我们配置的GPIO_B0引脚输出的相关代码,这个软件配置还是比较好用的,并且生成的hal库代码再移植到其他stm32芯片的项目中也十分方便。

static void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOH_CLK_ENABLE();
  __HAL_RCC_GPIOB_CLK_ENABLE();

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);

  /*Configure GPIO pin : PB0 */
  GPIO_InitStruct.Pin = GPIO_PIN_0;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1909623.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

古代VS现代,太阳黑子的影响有什么变化?

公元前28年,我国汉朝人在人类历史上第一次记载下了“太阳黑子”。在《汉书五行志》里是这样记载:“汉成帝河平元年三月乙未,日出黄,有黑气,大如钱,居日中央”。在2052年前,人类对于太阳黑子的认…

基于考研题库小程序V2.0实现倒计时功能板块和超时判错功能

V2.0 需求沟通 需求分析 计时模块 3.1.1、功能描述←计时模块用于做题过程中对每一题的作答进行30秒倒计时,超时直接判错,同时将总用时显示在界面上;记录每次做题的总用时。 3.1.2、接口描述←与判定模块的接口为超时判定,若单题用时超过 …

【BUG】已解决:JsonMappingException

已解决:JsonMappingException 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 概述: 没有getter方法的实体的序列化,并解决Jackson引发的JsonMappingException异常。 默认情况下,Jackson 2只会处理公有字段或具有公有get…

镭速助力全球高速传输,实现点对点高效传输打破时差壁垒!

在当今全球化的背景下,跨国界的文件协作已成为许多跨国企业日常工作的一部分。但是,时差和网络不稳定等因素常常影响团队间的有效交流与合作。特别是在大文件传输环节,传统的在线传输方法在接收方离线或网络条件不佳时显得力不从心&#xff0…

pycharm使用micropython

一、打开设置 2、搜索micropython、安装、重启 3、第5步需要设置成你插的电脑USB口,一个一个试 4、 5、 6、OK

【重大消息】报告称OpenAI的产品可经由微软的服务提供给中国客户

尽管OpenAI正在采取措施限制中国用户访问其平台,但一份最新报告称,中国用户仍可通过微软的Azure云计算平台访问该公司的产品。微软和OpenAI有着密切的合作关系,前者通过人工智能功能获得了独家产品访问权以拓展企业计算。最新的报道来自《The…

全新UI自助图文打印系统小程序源码 PHP后端 附教程

最新自助图文打印系统和证件照云打印小程序源码PHP后端,为用户用户自助打印的服务,包括但不限于文档、图片、表格等多种格式的文件。此外,它们还提供了诸如美颜、换装、文档打印等功能,以及后台管理系统,方便管理员对打…

超市收银系统源码

今天给大家分享一套线上线下打通的收银系统,安卓/win双端线下收银台,可DIY、多模板的三端线上小程序商城,除此之外ERP进销存管理、商品管理、会员营销都很完善。 重点是系统支持OEM贴牌独立部署和全开源源码,非常适合一些正在寻找…

服务器感染了.hmallox勒索病毒,如何确保数据文件完整恢复?

导言: 在当今高度数字化和互联的时代,勒索病毒已经成为网络安全的一个主要威胁。特别是近期出现的.hmallox勒索病毒,以其高效的加密技术和致命的数据锁定能力,引发了广泛关注和担忧。本文91数据恢复将深入探讨.hmallox勒索病毒的…

EEPROM-AT24C02存储器芯片数据读写

一、前言 1.1 功能介绍 在嵌入式系统设计中,数据的存储与读取是至关重要的一环。随着技术的不断发展,对存储设备的性能、容量和可靠性要求也越来越高。EEPROM(电可擦除可编程只读存储器)作为一种非易失性存储介质,以…

ISO 20000认证:驱动企业IT服务管理变革的利器

在信息技术驱动商业发展的今天,企业对高效、可靠和安全的IT服务需求日益增长。ISO 20000作为国际公认的IT服务管理标准,能够帮助企业在竞争激烈的市场环境中脱颖而出,实现IT服务管理的全面提升。本文将深入探讨ISO 20000认证如何帮助企业优化…

idea运行旧的项目如何引入jar包

背景: 有一个旧项目,年份不详, 生产环境运行正常, 生产环境jenkins打包正常;部分jar包为私包,已无法下载 现在要对这个项目进行调试修改 从生产环境下载正常的jar包解压找到lib把lib放到项目目录中 然后选者对应的jdk版本: 一个模块一个模块的 把刚才的库加进去 然后试着启…

免费听书TV版

技术文档摘要 标题: 听书软件用户体验与功能概述 摘要: 本文档提供了一款听书软件的用户体验和功能描述。软件以其稳定性、简洁的用户界面和纯净的用户体验受到用户青睐。文档概述了软件的主要特点、操作便利性以及对遥控器操作的支持。 关键词&#…

仪表板展示|DataEase看中国:2023年中国新能源汽车经济运行情况分析

背景介绍 随着政府机构、企业和个人对环保和可持续发展的高度关注,“新能源汽车”在全球范围内成为了一个热门话题。新能源汽车是指使用非传统燃料(如电能、氢能等)作为动力源的汽车。 在中国市场,新能源汽车产业蓬勃发展&#…

AI数字人直播saas系统源码部署火爆!无人直播系统全攻略

随着直播行业的日益兴盛,各种直播模式和玩法不断涌现。其中,AI数字人直播更是凭借着其在降本增效的独特优势而在众多直播模式中脱颖而出,成为了众多企业已经引进或计划引进的新型技术。而各大数字人源码厂商推出的AI数字人直播saas系统源码部…

uniapp小程序上传文件

需求 小程序需要上传用户相册图片或拍摄的照片到后端服务器 uniapp官方处理小程序文件方法 选择文件方法:uni.chooseMedia uni-app官网uni-app,uniCloud,serverless,uni.chooseVideo(OBJECT),chooseVideo HarmonyOS 兼容性,uni.chooseMedia(OBJECT),uni.saveVid…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第十三章 Linux连接档

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

【C++报错已解决】Invalid Use of ‘this’ Pointer

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 引言 一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:修正‘this’指针使用2…

首席数据官CDO,提升城市数字治理能力

随着数字技术的飞速发展,首席数据官(CDO)的角色越来越受到各城市的重视。 不仅企业和机构,城市本身也是巨大的数据生成者。 它们拥有丰富的政府、社会和经济数据资源,这些数据涵盖了城市治理、公共服服务和产业进展等多个方面。 利用这些数…

pytorch- RNN循环神经网络

目录 1. why RNN2. RNN3. pytorch RNN layer3.1 基本单元3.2 nn.RNN3.2.1 函数说明3.2.2 单层pytorch实现3.2.3 多层pytorch实现 3.3 nn.RNNCell3.3.1 函数说明3.3.2 单层pytorch实现3.3.3 多层pytorch实现 4.完整代码 1. why RNN 以淘宝的评论为例,判断评论是正面…