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引脚基本都有复用功能,设置某个组件可用后,其他一些组和可用标记件可能就不能使用了。这些图标的意义如表所示。

相关推荐
redcocal6 小时前
地平线秋招
python·嵌入式硬件·算法·fpga开发·求职招聘
辰哥单片机设计10 小时前
门磁模块详解(防盗感应开关 STM32)
stm32·单片机·嵌入式硬件·传感器
夜间去看海10 小时前
基于51单片机的自动清洗系统(自动洗衣机)
嵌入式硬件·51单片机·proteus·洗衣机
yrx02030710 小时前
stm32 IIC总线busy解决方法
stm32·单片机·嵌入式硬件
YHPsophie12 小时前
ATGM331C-5T杭州中科微BDS/GNSS全星座定位授时模块应用领域
经验分享·笔记·单片机·信息与通信·交通物流
Archie_IT13 小时前
【STM32系统】基于STM32设计的SD卡数据读取与上位机显示系统(SDIO接口驱动、雷龙SD卡)——文末资料下载
arm开发·stm32·单片机·嵌入式硬件
辰哥单片机设计13 小时前
1×4矩阵键盘详解(STM32)
stm32·单片机·嵌入式硬件·矩阵·传感器
wmkswd13 小时前
CAN总线-STM32上CAN外设
stm32·单片机·嵌入式硬件
Ruohongxu13 小时前
LAN8720A-CP-TR-ABC QFN-24 以太网收发器芯片
单片机