STM32CubeMX和HAL库-新建项目

2024-09-08 11:12
文章标签 项目 stm32cubemx 新建 hal

本文主要是介绍STM32CubeMX和HAL库-新建项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

新建项目

选择开发板

 MCU图形化配置界面总览

MCU配置


新建项目

新建项目包含选择MCU创建项目、选择开发板新建项目和交叉选择MCU新建项目三部分。 1. 选择MCU创建项目 单击主菜单项File→New Project,或Home视图上的ACCESS TO MCU SELECTOR 按钮,都可以打开的New Project from a MCU/MPU对话框。该对话框用于新建项目,是STM32CubeMX的3个主要视图之一,用于选择MCU或开发板以新建项目。 图3-7所示的是MCU/MPU Selector界面,用于选择MCU。

界面有如下几个功能区域。 (1)MCU/MPU Filters区域,用于设置筛选条件,缩小MCU的选择范围。有一个局部工具栏,一个型号搜索框,以及各组筛选条件,如Core、Series、Package等,单击某个条件可以展开其选项。 (2)MCUs/MPUs List区域,通过筛选或搜索的MCU列表,列出了器件的具体型号、封装、Flash、RAM等参数。在这个区域可以进行如下的一些操作。 ① 单击列表项左端的星星图标,可以收藏条目(★)或取消收藏(☆)。 ② 单击列表上方的Display similar items按钮,可以将相似的MCU添加到列表中显示,然后按钮切换标题为Hide similar items,再单击就隐藏相似条目。 ③ 单击右端的Export按钮,可以将列表内容导出为一个Excel文件。

④ 在列表上双击一个条目时就以所选的MCU新建一个项目,关闭此对话框进入项目管理视图。 ⑤ 在列表上单击一个条目时,将在其上方的资料区域里显示该MCU的资料。 (3)MCU资料显示区域,在MCU列表里单击一个条目时,就在此区域显示这个具体型号MCU的资料,有多个界面和按钮操作。 ① Features界面,显示选中型号MCU的基本特性参数,界面左侧的星星图标表示是否收藏此MCU。 ② Block Diagram界面,会显示MCU的功能模块图,如果是第一次显示某MCU的模块图,会自动从网上下载模块图片并保存到软件库根目录下。 ③ Docs&Resources界面,这个界面显示MCU相关的文档和资源列表,包括数据手册、参考手册、编程手册、应用笔记等。单击某个文档时,如果没有下载,就会自动下载并保存到软件库根目录下;如果已经下载,就会用PDF阅读器打开文档。

④ Datasheet按钮,如果数据手册未下载,会自动下载数据手册然后显示,否则会用PDF阅读器打开数据手册。数据手册自动保存在软件库根目录下。 ⑤ Buy按钮,用浏览器打开ST有限公司网站上的购买界面。 ⑥ Start Project按钮,用选择的MCU创建项目。 图左侧的MCU/MPU Filters框内是用于MCU筛选的一些功能操作,上方有一个工具栏,有4个按钮。 (1)Show favorites按钮,显示收藏的MCU列表。单击MCU列表条目前面的星星图标,可以收藏或取消收藏某个MCU。 (2)Save Search按钮,保存当前搜索条件为某个搜索名称。在设置了某种筛选条件后可以保存为一个搜索名称,然后再单击Load Searches 按钮时选择此搜索名称,就可以快速使用以前用过的搜索条件。

(3)Load Searches按钮,会显示一个弹出菜单,列出所有保存的搜索名称,单击某一项就可以快速载入以前设置的搜索条件。 (4)Reset all filters按钮,复位所有筛选条件。 在此工具栏的下方有一个Part Number Search编辑框,用于设置器件型号进行搜索。可以在文本框里输入MCU的型号,例如STM32F103,就会在MCU列表里看到所有STM32F103xx型号的MCU。 MCU的筛选主要通过下方的几组条件进行设置。 (1)Core(内核),筛选内核,选项中列出了STM32支持的所有Cortex内核。 (2)Series(系列),选择内核后会自动更新可选的STM32系列列表,图3-9只显示了列表的一部分。

(3)Line(产品线),选择某个STM32 系列后会自动更新产品线列表中的可选范围。例如,选择了STM32F1系列之后,产品线列表中只有STM32F1xx的器件可选。 (4)Package(封装),根据封装选择器件。用户可以根据已设置的其他条件缩小封装的选择范围。图3-11是封装列表的一部分。 (5)Other(其他),还可以设置价格、IO引脚数、Flash大小、RAM大小、主频等筛选条件。

选择开发板

用户还可以在New Project from a MCU/MPU窗口里选择开发板新建项目,其界面如图3-12所示。STM32CubeMX目前仅支持ST官方的开发板。

交叉选择MCU新建项目 New Project from a MCU/MPU对话框的第三个界面是Cross Selector,用于交叉选择MCU新建项目,界面如图所示。

在图中,左上方的Part Number Search部分用于选择原有MCU的厂家和型号,厂家有NXP、Microchip、ST、TI等,选择厂家后会在第二个下拉列表框中列出厂家的MCU型号。选择厂家和MCU型号后,会在下方的Matching ST candidates(500)框中显示可选的STM32MCU,并且有一个匹配百分比表示了匹配程度。

 MCU图形化配置界面总览

选择一个MCU创建项目后,界面上显示的是项目操作视图。因为本书所用开发板上的MCU型号是STM32F103ZET6,所以选择STM32F10ZET6新建一个项目进行操作。这个项目只是用于熟悉STM32CubeMX软件的基本操作,并不需要下载到开发板上,所以可以随意操作。读者选择其他型号的MCU创建项目也是可以的。 新建项目后的工作界面如图所示,界面主要由主菜单栏、标签导航栏和工作区三部分组成。 窗口最上方的主菜单栏一直保持不变,标签导航栏现在有3个层级,最后一个层级显示了当前工作界面的名称。导航栏的最右侧有一个GENERATE CODE按钮,用于图形化配置MCU后生成C语言代码。工作区是一个多页界面,有4个工作界面。

(1)Pinout&Configuration(引脚与配置)界面,这是对MCU的系统内核、外设、中间件和引脚进行配置的界面,是主要的工作界面。 (2)Clock Configuration(时钟配置)界面,通过图形化的时钟树对MCU的各个时钟信号频率进行配置的界面。 (3)Project Manager(项目管理)界面,对项目进行各种设置的界面。

     (4)Tools(工具)界面,进行功耗计算、DDR SDRAM适用性分析(仅用于STM32MP1系列)的操作界面。

MCU配置

引脚与配置界面是MCU图形化配置的主要工作界面,如图所示。这个界面包括 Component List(组件列表)、Mode &Configuration(模式与配置)、Pinout view(引脚视图)、System view(系统视图)和一个工具栏。 1.    组件列表 位于工作区左侧的是MCU可以配置的系统内核、外设和中间件列表,每一项称为一个组件(Component)。组件列表有两种显示方式:分组显示和按字母顺序显示。单击界面上的Categories或A->Z页标签就可以在这两种显示方式之间切换。 在分组显示状态下,主要有如下的一些分组(每个分组的具体条目与MCU型号有关,这里选择的MCU是STM32F103ZE)。

(1) System Core(系统内核),有DMA、GPIO、IWDG、NVIC、RCC、SYS和WWDG。 (2) Analog(模拟),片上的ADC和DAC。 (3) Timers(定时器),包括RTC和所有定时器。 (4)Connectivity(通信连接),各种外设接口,包括CAN、ETH、FSMC、I2C、SDIO、SPI、UART、USART、USB_OTG_FS、USB_OTG_HS等接口。 (5) Multimedia(多媒体),各种多媒体接口,包括数字摄像头接口DCMI和数字音频接口12S。 (6) Security(安全),只有一个RNG(随机数发生器)。 (7) Computing(计算),计算相关的资源,只有一个CRC(循环冗余校验)。

(8) Middleware(中间件),MCU固件库里的各种中间件,主要有FatFS、FreeRTOS、LibJPEG、LwIP、PDM2PCM、USB_Device、USB_Host等。 (9) Additional Software(其他软件),组件列表里默认是没有这个分组的。如果在嵌入式软件管理窗口里安装了STM32Cube扩展包,例如在3.2.2节演示安装了 TouchGFX,那么就可以通过图3-14中Pinout &Configuration页标签下菜单栏上的Additional Software按钮打开一个对话框,将TouchGFX安装到组件面板的Additional Software分组里。 在初始状态下,组件列表的各个项前面没有任何图标,在对MCU的各个组件做一些设置后,组件列表的各个项前面会出现一些图标(见图3-15),表示组件的可用性信息。因为MCU引脚基本都有复用功能,设置某个组件可用后,其他一些组和可用标记件可能就不能使用了。这些图标的意义如表所示。

这篇关于STM32CubeMX和HAL库-新建项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147949

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca